| Age | Commit message (Collapse) | Author | Lines |
|
Some of the tests are failing. I've only managed to fix 'memory_map_file', the rest are up for grabs...
Fixes #5261.
|
|
r=brson"
This reverts commit b8d1fa399402c71331aefd634d710004e00b73a6, reversing
changes made to f22b4b169854c8a4ba86c16ee43327d6bcf94562.
Conflicts:
mk/rt.mk
src/libuv
|
|
Moves the Times trait to num while the question of whether it should
exist at all gets hashed out as a completely separate question.
|
|
|
|
|
|
Previously it would call Option.unwrap(), which calls `fail!` on None,
which doesn't work without the runtime (e.g. when initialising it).
|
|
Moves the Times trait to num while the question of whether it should
exist at all gets hashed out as a completely separate question.
|
|
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
|
|
Everything that we do is actually inbounds, so there's no reason for us to be exposing two of these functions
|
|
|
|
|
|
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
|
|
|
|
Closes #6436
|
|
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
|
|
|
|
|
|
|
|
10% win or so for small crates.
|
|
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.
|
|
They are still present as part of the borrow check.
|
|
`UnsafeAtomicRcBox` → `UnsafeArc` (#7674), and `AtomicRcBoxData` → `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.
|
|
|
|
|
|
|
|
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.
|
|
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.)
|
|
Also added a home_for_io_with_sched variant to consolidate some cases.
This is a temporary step to resolving #8674.
|
|
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.
|
|
See #8599
|
|
I'm not comfortable turning off rtassert! yet
|
|
|
|
|
|
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.
|
|
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
|
|
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.
|
|
|
|
|
|
|
|
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
|
|
|
|
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`.
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
Resolves #8687.
|
|
r anybody; there isn't anything complicated here
|