diff options
| author | Brian Anderson <banderson@mozilla.com> | 2013-01-13 16:53:13 -0800 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2013-02-06 14:27:36 -0800 |
| commit | e43c5bdc6b47e8dd5e2ddcd6cf57fec79388523a (patch) | |
| tree | 309c89fe29131346dc5e258e2dd948c381ec256d /src/rt/rust_sched_loop.cpp | |
| parent | e91040c704aa9ab46fb1c7a10e293fd5f6bfe079 (diff) | |
| download | rust-e43c5bdc6b47e8dd5e2ddcd6cf57fec79388523a.tar.gz rust-e43c5bdc6b47e8dd5e2ddcd6cf57fec79388523a.zip | |
Rewrite the exchange allocator to work without an active scheduler. #4457
Diffstat (limited to 'src/rt/rust_sched_loop.cpp')
| -rw-r--r-- | src/rt/rust_sched_loop.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/rt/rust_sched_loop.cpp b/src/rt/rust_sched_loop.cpp index 5ddfd88d4b4..0d0eaaee962 100644 --- a/src/rt/rust_sched_loop.cpp +++ b/src/rt/rust_sched_loop.cpp @@ -260,7 +260,7 @@ rust_sched_loop::run_single_turn() { assert(!extra_c_stack); if (cached_c_stack) { - destroy_stack(kernel->region(), cached_c_stack); + destroy_exchange_stack(kernel->region(), cached_c_stack); cached_c_stack = NULL; } @@ -389,14 +389,15 @@ void rust_sched_loop::prepare_c_stack(rust_task *task) { assert(!extra_c_stack); if (!cached_c_stack && !task->have_c_stack()) { - cached_c_stack = create_stack(kernel->region(), C_STACK_SIZE); + cached_c_stack = create_exchange_stack(kernel->region(), + C_STACK_SIZE); } } void rust_sched_loop::unprepare_c_stack() { if (extra_c_stack) { - destroy_stack(kernel->region(), extra_c_stack); + destroy_exchange_stack(kernel->region(), extra_c_stack); extra_c_stack = NULL; } } |
