about summary refs log tree commit diff
path: root/src/rt
AgeCommit message (Collapse)AuthorLines
2013-07-27auto merge of #8040 : luqmana/rust/rtn, r=brsonbors-44/+32
Implements various missing tcp & udp methods.. Also fixes handling ipv4-mapped/compatible ipv6 addresses and addresses the XXX on `status_to_maybe_uv_error`. r? @brson
2013-07-25libstd: Implement some missing udp methods.Luqman Aden-0/+7
2013-07-25Warn about unused RUST_LOG specsKeegan McAllister-6/+7
2013-07-25libstd: Implement {peer, socket}_name for new rt tcp & udp.Luqman Aden-44/+25
2013-07-24rm unused upcall_exchange_freeDaniel Micay-2/+0
2013-07-23auto merge of #7980 : graydon/rust/misc-benchmarks, r=catamorphismbors-1/+1
Some machinery for enabling #[bench] benchmarks in std and some examples showing how to write them.
2013-07-22rt: Fix child-iteration bug in crate map.Graydon Hoare-1/+1
2013-07-22std: Remove at_exit API. UnusedBrian Anderson-70/+0
2013-07-22std: Remove unstable::global. UnusedBrian Anderson-10/+1
2013-07-22std::rt: Stop using unstable::global in change_dir_lockedBrian Anderson-0/+14
2013-07-22std: Remove weak_task API. UnusedBrian Anderson-14/+0
2013-07-22new snapshotDaniel Micay-6/+0
2013-07-18auto merge of #7859 : kmcallister/rust/rt-diag-messages, r=pcwaltonbors-7/+18
I added these while tracking down heap corruption in Servo.
2013-07-18auto merge of #7856 : brson/rust/no-thread-per-core, r=pcwaltonbors-7/+0
This doesn't make sense under the new scheduler.
2013-07-17rt: Print alloc backtraces for bad release_alloc with RUSTRT_TRACK_ALLOCATIONSKeegan McAllister-7/+13
Probably the env var should be renamed from DETAILED_LEAKS but I'm leaving aside that breaking change for now.
2013-07-17rt: Diagnose bad alloc index in release_alloc with RUSTRT_TRACK_ALLOCATIONSKeegan McAllister-0/+5
2013-07-15remove headers from unique vectorsDaniel Micay-9/+9
2013-07-12auto merge of #7734 : alexcrichton/rust/issue-3395, r=sanxiynbors-2/+2
Also ends up fixing one case in libstd. Closes #3395
2013-07-12auto merge of #7728 : bcully/rust/largestack64, r=cmrbors-2/+7
Just to get the ball rolling, this patch sets stacks to 4 MB on >32-bit architectures.
2013-07-11auto merge of #7677 : alexcrichton/rust/tls-gc, r=pcwaltonbors-9/+4
cc #6004 and #3273 This is a rewrite of TLS to get towards not requiring `@` when using task local storage. Most of the rewrite is straightforward, although there are two caveats: 1. Changing `local_set` to not require `@` is blocked on #7673 2. The code in `local_pop` is some of the most unsafe code I've written. A second set of eyes should definitely scrutinize it... The public-facing interface currently hasn't changed, although it will have to change because `local_data::get` cannot return `Option<T>`, nor can it return `Option<&T>` (the lifetime isn't known). This will have to be changed to be given a closure which yield `&T` (or as an Option). I didn't do this part of the api rewrite in this pull request as I figured that it could wait until when `@` is fully removed. This also doesn't deal with the issue of using something other than functions as keys, but I'm looking into using static slices (as mentioned in the issues).
2013-07-11Expand ctypes warnings to warn about *int/*uintAlex Crichton-2/+2
Also ends up fixing one case in libstd
2013-07-11Enable large stacks on 64-bit architecturesBrendan Cully-2/+7
2013-07-09auto merge of #7265 : brson/rust/io-upstream, r=brsonbors-40/+258
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-09std: Remove ThreadPerCore spawn mode. UnusedBrian Anderson-7/+0
2013-07-09Use purely an owned vector for storing TLS dataAlex Crichton-8/+3
2013-07-09rt: Make the old rand builtins work with newschedBrian Anderson-11/+5
2013-07-09std: Make os::set_exit_status work with newschedBrian Anderson-0/+17
2013-07-08Merge remote-tracking branch 'mozilla/master'Brian Anderson-1/+2
Conflicts: src/libextra/test.rs src/libstd/rt/global_heap.rs src/libstd/unstable/lang.rs src/libstd/vec.rs
2013-07-08Merge remote-tracking branch 'anasazi/io'Brian Anderson-0/+159
Conflicts: src/libstd/rt/test.rs
2013-07-08std::rt: Add a hack to allocate different test port ranges to different botsBrian Anderson-4/+4
2013-07-08Merge remote-tracking branch 'upstream/io' into ioEric Reed-96/+80
Conflicts: src/libstd/rt/uvio.rs
2013-07-08Address nits by @catamorphismNiko Matsakis-4/+0
2013-07-08This assert does not necessarily hold; sometimes we temporarily increase ↵Niko Matsakis-2/+2
ref-count
2013-07-03Add x64 windows to platform.mk and mingw64 header fixes.Luqman Aden-1/+2
2013-07-03Merge remote-tracking branch 'mozilla/master'Brian Anderson-97/+81
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-07-02Merge remote-tracking branch 'upstream/io' into ioEric Reed-0/+2
Conflicts: src/libstd/rt/test.rs src/rt/rustrt.def.in
2013-07-02IPv6 support for UDP and TCP.Eric Reed-0/+109
2013-07-01rt: Add global_args_lock functions to rustrt.def.inBrian Anderson-1/+3
2013-06-30vec: implement exchange vector reserve in RustDaniel Micay-8/+0
2013-06-30simplify the exchange allocatorDaniel Micay-24/+0
* 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-27auto merge of #7395 : yichoi/rust/android_dummy, r=brsonbors-0/+25
add android dummy functions which does not exist in boinic. after #7257, some mman related functions are needed for android.
2013-06-26rt: Release big stacks immediately after use to avoid holding on to them ↵Brian Anderson-47/+31
through yields This avoids the following pathological scenario that makes threadring OOM: 1) task calls C using fast_ffi, borrowing a big stack from the scheduler. 2) task returns from C and places the big stack on the task-local stack segment list 3) task calls further Rust functions that require growing the stack, and for this reuses the big stack 4) task yields, failing to return the big stack to the scheduler. 5) repeat 500+ times and OOM Conflicts: src/rt/rust_task.cpp
2013-06-26rt: add android dummy functions for mman relatedYoung-il Choi-0/+25
2013-06-25satisfy the formatting checkEric Reed-2/+2
2013-06-25Merge remote-tracking branch 'upstream/io' into ioEric Reed-49/+69
Conflicts: src/rt/rustrt.def.in
2013-06-25auto merge of #7254 : Blei/rust/intrinsic-overhaul, r=cmrbors-16/+10
This sets the `get_tydesc()` return type correctly and removes the intrinsic module. See #3730, #3475. Update: this now also removes the unused shape fields in tydescs.
2013-06-24std: Make box annihilator work with newschedBrian Anderson-1/+8
2013-06-24std: Rewrite vec_reserve_shared_actual in RustBrian Anderson-15/+10
2013-06-23Support foreign 'static mut' variables as wellAlex Crichton-1/+13
2013-06-23Remove unused TyDesc parameter from the glue functionsPhilipp Brüschweiler-2/+10
To remove the environment pointer, support for function pointers without an environment argument is needed (i.e. a fixed version of #6661).