summary refs log tree commit diff
path: root/src/libstd/rt
AgeCommit message (Collapse)AuthorLines
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
2013-08-22auto merge of #8596 : vadimcn/rust/master, r=alexcrichtonbors-2/+0
This resolves issue #908. Notable changes: - On Windows, LLVM integrated assembler emits bad stack unwind tables when segmented stacks are enabled. However, unwind info directives in the assembly output are correct, so we generate assembly first and then run it through an external assembler, just like it is already done for Android builds. - Linker is invoked via "g++" command instead of "gcc": g++ passes the appropriate magic parameters to the linker, which ensure correct registration of stack unwind tables in dynamic libraries.
2013-08-22Enabled unit tests in std and extra.Vadim Chugunov-2/+0
2013-08-22fix 32bit mac build errorJeff Olson-2/+2
2013-08-22make check appeasementJeff Olson-1/+2
2013-08-22std: put FileMode/Access->whence-mask in uvio, open/unlink as fns in file::Jeff Olson-100/+109
2013-08-22std: slight refactor on UvFilestream seek behavior, pre-seek-refactorJeff Olson-38/+34
2013-08-22std: all of the calls in rt::uv::file take a &LoopJeff Olson-44/+43
2013-08-22std: moved static file actions (open,unlink) to FsRequestJeff Olson-63/+63
2013-08-22std: reform fn sigs of FileDescriptor methods (better result signalling)Jeff Olson-42/+46
2013-08-22std: rename tmp file paths to go into ./tmp folder in builddirJeff Olson-10/+10
2013-08-22change FileDescriptor instance methods to use &mut selfJeff Olson-11/+11
2013-08-22std: more seek testsJeff Olson-1/+71
2013-08-22std: naive stdio print test in uvioJeff Olson-0/+20
2013-08-22std: UvFileStream implements HomingIO + .home_for_io() wrapper usageJeff Olson-39/+60
2013-08-22std: writing to stdout only works when using -1 offset..Jeff Olson-1/+1
2013-08-22std: lint appeasement for unused param in condition handlerJeff Olson-1/+1
2013-08-22std: rework file io.. support [p]read,[p]write, impl seek/tell + more testsJeff Olson-53/+214
2013-08-22std: adding #[fixed_stack_segment] as needed in new uvll callsJeff Olson-0/+16
2013-08-22std: add FileStream::unlink + more testsJeff Olson-2/+52
2013-08-22std: rt::io::file::FileStream fleshed out.. needs more work.. see extendedJeff Olson-40/+127
- change all uses of Path in fn args to &P - FileStream.read assumptions were wrong (libuv file io is non-positional) - the above will mean that we "own" Seek impl info .. should probably push it in UvFileDescriptor.. - needs more tests
2013-08-22std: CRUD file io bindings in uvio, fs_open()/unlink() in IoFactory + testJeff Olson-0/+190
2013-08-22std: remove fcntl const bindings + making valgrind clean w/ no owned vecsJeff Olson-142/+68
2013-08-22std: support async/threadpool & sync paths in uv_fs_* calls + add sync testJeff Olson-35/+169
2013-08-22std: add read and unlink to low-level FileDescriptor + end-to-end CRUD testJeff Olson-53/+119
2013-08-22std: working tests for low-level libuv open, write and close operationsJeff Olson-27/+126
2013-08-22std: bootstrapping libuv-based fileio in newrt... open & closeJeff Olson-14/+222
the test "touch"es a new file
2013-08-22auto merge of #8666 : nikomatsakis/rust/issue-3678-extern-fn-types, r=pcwaltonbors-22/+112
Change the type of crust fns like this one: extern fn foo() { ... } from `*u8` to `extern "C" fn()`. r? @pcwalton (or whomever)
2013-08-21std/extra: changing XXX to FIXME; cleanupTim Chevalier-37/+37
* Get rid of by-value-self workarounds; it works now * Remove type annotations, they're not needed anymore
2013-08-21Don't fail in port.try_recv() the second time. Close #7800.Ben Blum-6/+7