about summary refs log tree commit diff
path: root/src/libstd/rt
AgeCommit message (Collapse)AuthorLines
2013-08-29auto merge of #8819 : vadimcn/rust/unit-tests, r=brsonbors-0/+20
Some of the tests are failing. I've only managed to fix 'memory_map_file', the rest are up for grabs... Fixes #5261.
2013-08-29Revert "auto merge of #8645 : alexcrichton/rust/issue-6436-run-non-blocking, ↵Brian Anderson-845/+169
r=brson" This reverts commit b8d1fa399402c71331aefd634d710004e00b73a6, reversing changes made to f22b4b169854c8a4ba86c16ee43327d6bcf94562. Conflicts: mk/rt.mk src/libuv
2013-08-29auto merge of #8842 : jfager/rust/remove-iter-module, r=pnkfelixbors-2/+2
Moves the Times trait to num while the question of whether it should exist at all gets hashed out as a completely separate question.
2013-08-29rt: remove a series of unfortunate casts.Huon Wilson-13/+6
2013-08-29rt: use sugary functions rather than manual range loops.Huon Wilson-16/+11
2013-08-29rt: Handle non-integer RUST_THREADS (slightly) more gracefully.Huon Wilson-2/+8
Previously it would call Option.unwrap(), which calls `fail!` on None, which doesn't work without the runtime (e.g. when initialising it).
2013-08-29Remove the iter module.Jason Fager-2/+2
Moves the Times trait to num while the question of whether it should exist at all gets hashed out as a completely separate question.
2013-08-28auto merge of #8447 : alexcrichton/rust/local-data-merge, r=brsonbors-19/+14
This moves all local_data stuff into the `local_data` module and only that module alone. It also removes a fair amount of "super-unsafe" code in favor of just vanilla code generated by the compiler at the same time. Closes #8113
2013-08-28auto merge of #8807 : alexcrichton/rust/remove-two-offsets, r=thestingerbors-1/+3
Everything that we do is actually inbounds, so there's no reason for us to be exposing two of these functions
2013-08-28Turned off libstd unit tests that currently fail on Windows.Vadim Chugunov-0/+20
2013-08-27Remove offset_inbounds for an unsafe offset functionAlex Crichton-1/+3
2013-08-27Consolidate local_data implementations, and cleanupAlex Crichton-19/+14
This moves all local_data stuff into the `local_data` module and only that module alone. It also removes a fair amount of "super-unsafe" code in favor of just vanilla code generated by the compiler at the same time. Closes #8113
2013-08-27Fix merge falloutAlex Crichton-3/+3
2013-08-27Implement process bindings to libuvAlex Crichton-89/+803
Closes #6436
2013-08-27Upgrade libuv to the current master + our patchesAlex Crichton-83/+45
There were two main differences with the old libuv and the master version: 1. The uv_last_error function is now gone. The error code returned by each function is the "last error" so now a UvError is just a wrapper around a c_int. 2. The repo no longer includes a makefile, and the build system has change. According to the build directions on joyent/libuv, this now downloads a `gyp` program into the `libuv/build` directory and builds using that. This shouldn't add any dependences on autotools or anything like that. Closes #8407 Closes #6567 Closes #6315
2013-08-27librustc: Fix merge falloutPatrick Walton-19/+19
2013-08-27librustc: Fix problem with cross-crate reexported static methods.Patrick Walton-5/+13
2013-08-27libstd: Fix merge fallout.Patrick Walton-5/+5
2013-08-27librustc: Stop calling `each_path` in coherence.Patrick Walton-3/+3
10% win or so for small crates.
2013-08-27librustc: Ensure that type parameters are in the right positions in paths.Patrick Walton-96/+124
This removes the stacking of type parameters that occurs when invoking trait methods, and fixes all places in the standard library that were relying on it. It is somewhat awkward in places; I think we'll probably want something like the `Foo::<for T>::new()` syntax.
2013-08-27librustc: Remove `&const` and `*const` from the language.Patrick Walton-17/+19
They are still present as part of the borrow check.
2013-08-27auto merge of #8790 : huonw/rust/unsafearc, r=thestingerbors-20/+20
`UnsafeAtomicRcBox` &rarr; `UnsafeArc` (#7674), and `AtomicRcBoxData` &rarr; `ArcData` to reflect this. Also, the inner pointer of `UnsafeArc` is now `*mut ArcData`, which avoids some transmutes to `~`: i.e. less chance of mistakes.
2013-08-27Rename UnsafeAtomicRcBox to UnsafeArc. Fixes #7674.Huon Wilson-20/+20
2013-08-27Decrement unkillable counter before failingFlaper Fesp-1/+3
2013-08-27Don't make the runtime exit on illegal callsFlaper Fesp-1/+3
2013-08-26Support Win64 context switchingklutzy-7/+31
This patch saves and restores win64's nonvolatile registers. This patch also saves stack information of thread environment block (TEB), which is at %gs:0x08 and %gs:0x10.
2013-08-26std: Add Win64 supportklutzy-1/+8
Some extern blobs are duplicated without "stdcall" abi, since Win64 does not use any calling convention. (Giving any abi to them causes llvm producing wrong bytecode.)
2013-08-25auto merge of #8723 : anasazi/rust/temporary-unkillable-io, r=brsonbors-124/+165
Also added a home_for_io_with_sched variant to consolidate some cases. This is a temporary step to resolving #8674.
2013-08-24auto merge of #8607 : sfackler/rust/extensions, r=brsonbors-123/+122
The method names in std::rt::io::extensions::WriterByteConversions are the same as those in std::io::WriterUtils and a resolve error causes rustc to fail after trying to find an impl of io::Writer instead of trying to look for rt::io::Writer as well.
2013-08-24auto merge of #8740 : brson/rust/rt-opt, r=thestingerbors-189/+211
See #8599
2013-08-24std::rt: Enforce sanity a while longerBrian Anderson-1/+2
I'm not comfortable turning off rtassert! yet
2013-08-24std::rt: Remove an unnecessary allocation from the main sched loopBrian Anderson-11/+11
2013-08-24std: Convert the runtime TLS key to a Rust global to avoid FFIBrian Anderson-15/+17
2013-08-24std::rt: Remove metrics for perfBrian Anderson-115/+0
These aren't used for anything at the moment and cause some TLS hits on some perf-critical code paths. Will need to put better thought into it in the future.
2013-08-24std::rt: Reduce MessageQueue contentionBrian Anderson-12/+69
It's not a huge win but it does reduce the amount of time spent contesting the message queue when the schedulers are under load
2013-08-24std::rt: Reduce SleeperList contentionBrian Anderson-12/+44
This makes the lock much less contended. In the test I'm running the number of times it's contended goes from ~100000 down to ~1000.
2013-08-24std::rt: Remove extra boxes from MessageQueue and SleeperListBrian Anderson-7/+6
2013-08-24std::rt: Optimize TLS use in change_task_contextBrian Anderson-1/+25
2013-08-24std: More TLS micro-optimizationBrian Anderson-12/+31
2013-08-24auto merge of #8725 : bblum/rust/docs, r=graydonbors-1/+85
This documents how to use trait bounds in a (hopefully) user-friendly way, in the containers tutorial, and also documents the task watching implementation for runtime developers in kill.rs. r anybody
2013-08-23std: Convert some assert!s to rtassert!Brian Anderson-5/+6
2013-08-23Define cfg(rtopt) when optimizing. Turn off runtime sanity checksBrian Anderson-0/+3
Naturally, and sadly, turning off sanity checks in the runtime is a noticable performance win. The particular test I'm running goes from ~1.5 s to ~1.3s. Sanity checks are turned *on* when not optimizing, or when cfg includes `rtdebug` or `rtassert`.
2013-08-23std: Reduce TLS accessBrian Anderson-3/+2
2013-08-23rt: Remove old precise GC codeBrian Anderson-3/+0
2013-08-23rt: Remove exit_status helpersBrian Anderson-16/+5
2013-08-23rt: Memory regions are never synchronized nowBrian Anderson-5/+2
2013-08-23Document the task watching / exit code propagation implementation.Ben Blum-1/+85
2013-08-23Rename {Reader,Writer}ByteConversions methodsSteven Fackler-123/+122
The method names in std::rt::io::extensions::WriterByteConversions are the same as those in std::io::WriterUtils and a resolve error causes rustc to fail after trying to find an impl of io::Writer instead of trying to look for rt::io::Writer as well. Same goes for ReaderByteConversions.
2013-08-23auto merge of #8691 : anasazi/rust/fix-timer-interface, r=brsonbors-7/+2
Resolves #8687.
2013-08-23auto merge of #8677 : bblum/rust/scratch, r=alexcrichtonbors-6/+8
r anybody; there isn't anything complicated here