about summary refs log tree commit diff
path: root/src/libstd/rt/global_heap.rs
AgeCommit message (Collapse)AuthorLines
2013-08-19Add externfn macro and correctly label fixed_stack_segmentsNiko Matsakis-3/+6
2013-07-26Consolidate raw representations of rust valuesAlex Crichton-4/+4
This moves the raw struct layout of closures, vectors, boxes, and strings into a new `unstable::raw` module. This is meant to be a centralized location to find information for the layout of these values. As safe method, `repr`, is provided to convert a rust value to its raw representation. Unsafe methods to convert back are not provided because they are rarely used and too numerous to write an implementation for each (not much of a common pattern).
2013-07-22std: add #[bench] benchmarks for global and local heaps.Graydon Hoare-0/+19
2013-07-22new snapshotDaniel Micay-21/+1
2013-07-15remove headers from unique vectorsDaniel Micay-8/+0
2013-07-09auto merge of #7265 : brson/rust/io-upstream, r=brsonbors-1/+11
r? @graydon, @nikomatsakis, @pcwalton, or @catamorphism Sorry this is so huge, but it's been accumulating for about a month. There's lots of stuff here, mostly oriented toward enabling multithreaded scheduling and improving compatibility between the old and new runtimes. Adds task pinning so that we can create the 'platform thread' in servo. [Here](https://github.com/brson/rust/blob/e1555f9b5628af2b6c6ed344cad621399cb7684d/src/libstd/rt/mod.rs#L201) is the current runtime setup code. About half of this has already been reviewed.
2013-07-09remove the unused exchange_malloc `align` parameterDaniel Micay-2/+2
`malloc` already returns memory correctly aligned for every possible type in standard C, and that's enough for all types in Rust too
2013-07-08TidyBrian Anderson-1/+1
2013-07-08Merge remote-tracking branch 'mozilla/master'Brian Anderson-10/+5
Conflicts: src/libextra/test.rs src/libstd/rt/global_heap.rs src/libstd/unstable/lang.rs src/libstd/vec.rs
2013-07-08remove headers from exchange allocationsDaniel Micay-3/+2
2013-07-08add a temporary vector_exchange_malloc lang itemDaniel Micay-0/+8
2013-07-03Merge remote-tracking branch 'mozilla/master'Brian Anderson-74/+99
Conflicts: src/libextra/test.rs src/libstd/at_vec.rs src/libstd/cleanup.rs src/libstd/rt/comm.rs src/libstd/rt/global_heap.rs src/libstd/task/spawn.rs src/libstd/unstable/lang.rs src/libstd/vec.rs src/rt/rustrt.def.in src/test/run-pass/extern-pub.rs
2013-06-30pass exchange_malloc an alignment, not a tydescDaniel Micay-7/+2
2013-06-30global_heap: inline get_box_size and align_toDaniel Micay-0/+2
2013-06-30global_heap: inline malloc_raw and add realloc_rawDaniel Micay-1/+13
2013-06-30add a closure_exchange_malloc lang itemDaniel Micay-0/+14
this makes the exchange allocation header completely unused, and leaves it uninitialized
2013-06-30stop initializing ref_count in exchange_allocDaniel Micay-1/+21
this is never read anymore
2013-06-30simplify the exchange allocatorDaniel Micay-53/+41
* stop using an atomic counter, this has a significant cost and valgrind will already catch these leaks * remove the extra layer of function calls * remove the assert of non-null in free, freeing null is well defined but throwing a failure from free will not be * stop initializing the `prev`/`next` pointers * abort on out-of-memory, failing won't necessarily work
2013-06-23Remove intrinsic modulePhilipp Brüschweiler-7/+3
To achieve this, the following changes were made: * Move TyDesc, TyVisitor and Opaque to std::unstable::intrinsics * Convert TyDesc, TyVisitor and Opaque to lang items instead of specially handling the intrinsics module * Removed TypeDesc, FreeGlue and get_type_desc() from sys Fixes #3475.
2013-06-18std::rt: Improve the rtabort! macroBrian Anderson-2/+1
2013-06-17std: Rename `abort!` to `rtabort!` to match other macrosBrian Anderson-1/+1
2013-06-17std::rt: Check exchange count on exitBrian Anderson-6/+31
2013-05-22libstd: Fix merge fallout.Patrick Walton-0/+87