about summary refs log tree commit diff
path: root/src/rt/rust_kernel.cpp
diff options
context:
space:
mode:
authorBrian Anderson <andersrb@gmail.com>2013-02-07 13:46:10 -0800
committerBrian Anderson <andersrb@gmail.com>2013-02-07 13:46:10 -0800
commit6e9298ab888b425e9a395e87aa750feeaadb2e83 (patch)
tree8cacab08ce22357c491dc06f8493fa3e016d605e /src/rt/rust_kernel.cpp
parenta2817953d0a9129ba20b6400cfd53260ab505f40 (diff)
parente43c5bdc6b47e8dd5e2ddcd6cf57fec79388523a (diff)
downloadrust-6e9298ab888b425e9a395e87aa750feeaadb2e83.tar.gz
rust-6e9298ab888b425e9a395e87aa750feeaadb2e83.zip
Merge pull request #4619 from brson/exchange
Some work on freestanding Rust: foreign calls, exchange allocator
Diffstat (limited to 'src/rt/rust_kernel.cpp')
-rw-r--r--src/rt/rust_kernel.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/rt/rust_kernel.cpp b/src/rt/rust_kernel.cpp
index 99a6ed94944..e0494c9300b 100644
--- a/src/rt/rust_kernel.cpp
+++ b/src/rt/rust_kernel.cpp
@@ -22,7 +22,6 @@
     KLOG_LVL(this, field, log_err, __VA_ARGS__)
 
 rust_kernel::rust_kernel(rust_env *env) :
-    _region(env, true),
     _log(NULL),
     max_task_id(INIT_TASK_ID-1), // sync_add_and_fetch increments first
     rval(0),
@@ -77,21 +76,21 @@ rust_kernel::fatal(char const *fmt, ...) {
 
 void *
 rust_kernel::malloc(size_t size, const char *tag) {
-    return _region.malloc(size, tag);
+    return exchange_alloc.malloc(size);
 }
 
 void *
 rust_kernel::calloc(size_t size, const char *tag) {
-    return _region.calloc(size, tag);
+    return exchange_alloc.calloc(size);
 }
 
 void *
 rust_kernel::realloc(void *mem, size_t size) {
-    return _region.realloc(mem, size);
+    return exchange_alloc.realloc(mem, size);
 }
 
 void rust_kernel::free(void *mem) {
-    _region.free(mem);
+    exchange_alloc.free(mem);
 }
 
 rust_sched_id
@@ -217,6 +216,7 @@ rust_kernel::run() {
     assert(osmain_driver != NULL);
     osmain_driver->start_main_loop();
     sched_reaper.join();
+    rust_check_exchange_count_on_exit();
     return rval;
 }