about summary refs log tree commit diff
path: root/src/rt/rust_task.cpp
diff options
context:
space:
mode:
authorRafael Ávila de Espíndola <respindola@mozilla.com>2011-05-24 18:23:39 -0400
committerRafael Ávila de Espíndola <respindola@mozilla.com>2011-05-24 18:29:08 -0400
commitac836dd79c2d7c631ca601dc468de13cb5c785da (patch)
treee3ef73e6cb624ba406ccff65035dd1a439bd7e1e /src/rt/rust_task.cpp
parentb1292580b95ea4a2ab22682ff04a91004c44cd06 (diff)
downloadrust-ac836dd79c2d7c631ca601dc468de13cb5c785da.tar.gz
rust-ac836dd79c2d7c631ca601dc468de13cb5c785da.zip
There is only one yield glue.
Diffstat (limited to 'src/rt/rust_task.cpp')
-rw-r--r--src/rt/rust_task.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/rt/rust_task.cpp b/src/rt/rust_task.cpp
index db72be6d12d..bd57eb89cca 100644
--- a/src/rt/rust_task.cpp
+++ b/src/rt/rust_task.cpp
@@ -317,12 +317,14 @@ rust_task::yield(size_t nargs) {
     yield(nargs, 0);
 }
 
+extern "C" void new_rust_yield_glue(void) asm("new_rust_yield_glue");
+
 void
 rust_task::yield(size_t nargs, size_t time_in_us) {
     LOG(this, task, "task %s @0x%" PRIxPTR " yielding for %d us",
         name, this, time_in_us);
     yield_timer.reset(time_in_us);
-    run_after_return(nargs, dom->root_crate->get_yield_glue());
+    run_after_return(nargs, (uintptr_t) new_rust_yield_glue);
 }
 
 static inline uintptr_t