Patrick Walton
5d3559e645
librustc: Make self
and static
into keywords
2013-05-12 16:35:18 -07:00
Niko Matsakis
4300d4d2fa
Merge remote-tracking branch 'mozilla/incoming' into issue-5910-dyna-freeze
...
Conflicts:
src/libcore/core.rc
src/libcore/hashmap.rs
src/libcore/num/f32.rs
src/libcore/num/f64.rs
src/libcore/num/float.rs
src/libcore/num/int-template.rs
src/libcore/num/num.rs
src/libcore/num/strconv.rs
src/libcore/num/uint-template.rs
src/libcore/ops.rs
src/libcore/os.rs
src/libcore/prelude.rs
src/libcore/rt/mod.rs
src/libcore/unstable/lang.rs
src/librustc/driver/session.rs
src/librustc/middle/astencode.rs
src/librustc/middle/borrowck/check_loans.rs
src/librustc/middle/borrowck/gather_loans.rs
src/librustc/middle/borrowck/loan.rs
src/librustc/middle/borrowck/preserve.rs
src/librustc/middle/liveness.rs
src/librustc/middle/mem_categorization.rs
src/librustc/middle/region.rs
src/librustc/middle/trans/base.rs
src/librustc/middle/trans/inline.rs
src/librustc/middle/trans/reachable.rs
src/librustc/middle/typeck/check/_match.rs
src/librustc/middle/typeck/check/regionck.rs
src/librustc/util/ppaux.rs
src/libstd/arena.rs
src/libstd/ebml.rs
src/libstd/json.rs
src/libstd/serialize.rs
src/libstd/std.rc
src/libsyntax/ast_map.rs
src/libsyntax/parse/parser.rs
src/test/compile-fail/borrowck-uniq-via-box.rs
src/test/compile-fail/regions-infer-borrow-scope-within-loop.rs
src/test/run-pass/borrowck-nested-calls.rs
2013-05-05 15:11:04 -04:00
Brian Anderson
4a4646fd54
Merge remote-tracking branch 'brson/io'
...
Conflicts:
src/libcore/task/local_data_priv.rs
2013-04-30 17:01:27 -07:00
Niko Matsakis
418f991118
allover: numerous unused muts etc
2013-04-30 14:10:21 -04:00
Niko Matsakis
a896440ca1
new borrow checker (mass squash)
2013-04-30 06:59:32 -04:00
Brian Anderson
2a819ae465
core::rt: Tasks to not require an unwinder
...
A task without an unwinder will abort the process on failure.
I'm using this in the runtime tests to guarantee that a call to
`assert!` actually triggers some kind of failure (an abort)
instead of silently doing nothing. This is essentially in lieu
of a working linked failure implementation.
2013-04-23 15:11:28 -07:00
Brian Anderson
42c0f88232
core::rt: Add unwinding to newsched tasks
2013-04-22 17:15:31 -07:00
Brian Anderson
d0786fdffc
core::rt Wire up task-local storage to the new scheduler
2013-04-22 13:05:16 -07:00
Brian Anderson
f9069baa70
core::rt: Add LocalServices for thread-local language services
...
Things like the GC heap and unwinding are desirable everywhere the language
might be used, not just in tasks. All Rust code should have access to
LocalServices.
2013-04-21 16:28:19 -07:00
Brian Anderson
b57611d10c
core::rt: Simplify some scheduler operations
2013-04-19 12:05:19 -07:00
Brian Anderson
eddd817bf0
core::rt: Add another context switching operation to the scheduler
...
`switch_running_tasks_and_then` does a context switch to another
task then immediatly runs a closure.
2013-04-19 12:05:18 -07:00
Brian Anderson
d261bb32d9
core: More tweaks to the thread-local scheduler interface
2013-04-19 12:05:18 -07:00
Brian Anderson
b96765179e
core: Add rt::context for figuring out what runtime services are available
...
Conflicts:
src/libcore/rt/sched/mod.rs
2013-04-19 12:05:18 -07:00
Brian Anderson
7bfd0e5035
Merge remote-tracking branch 'brson/sched-cleanup'
...
Conflicts:
src/libcore/rt/sched/mod.rs
2013-04-16 11:23:13 -07:00
Brian Anderson
1f94364aef
core::rt: Clean up some more hacks
2013-04-15 18:56:39 -07:00
Brian Anderson
ed74ac169e
core::rt: Narrow down the unsafety of the thread-local scheduler
...
Only when borrowing the I/O implementation do we need unsafety
2013-04-15 18:54:02 -07:00
Brian Anderson
68583a25a0
core::rt: Restructure context switches to take ownership of the Scheduler
...
In order to do a context switch you have to give up ownership of the scheduler,
effectively passing it to the next execution context. This could help avoid
some situations here tasks retain unsafe pointers to schedulers between context
switches, across which they may have changed threads.
There are still a number of uses of unsafe scheduler pointers.
2013-04-15 17:45:34 -07:00
Brian Anderson
ebefe07792
core::rt: Make Scheduler::unsafe_local return a fabricated region pointer
...
Instead of taking a closure. It's unsafe either way. Rename it to unsafe_local_borrow.
2013-04-15 16:00:15 -07:00
Brian Anderson
473b4d19ad
core::rt: Rename Scheduler::local to Scheduler::unsafe_local
2013-04-15 15:32:43 -07:00
Brian Anderson
3b8a354c21
core::rt: A little bit of cleanup to thread-local scheduler
2013-04-15 15:25:29 -07:00
Brian Anderson
1f8ebb6a8e
core::rt: Move thread-local scheduler to its own module
2013-04-15 15:18:49 -07:00