]> git.lizzy.rs Git - rust.git/commitdiff
clone type desc into exchange heap
authorNiko Matsakis <niko@alum.mit.edu>
Wed, 14 Dec 2011 00:53:10 +0000 (16:53 -0800)
committerNiko Matsakis <niko@alum.mit.edu>
Wed, 14 Dec 2011 22:32:24 +0000 (14:32 -0800)
src/rt/rust_upcall.cpp

index d91e282d2e235ae5b2a8a9d8bf4236fb03c477f6..754a1f2d1895a3b994b1d75a9c0de99b0e5fcaaf 100644 (file)
@@ -202,11 +202,14 @@ struct s_clone_type_desc_args {
 
 void upcall_s_clone_type_desc(s_clone_type_desc_args *args)
 {
+    rust_task *task = rust_scheduler::get_task();
+    LOG_UPCALL_ENTRY(task);
+
     // Copy the main part of the type descriptor:
     const type_desc *td = args->td;
     int n_descs = td->n_descs;
     size_t sz = sizeof(type_desc) + sizeof(type_desc*) * n_descs;
-    args->res = (type_desc*) malloc(sz);
+    args->res = (type_desc*) task->kernel->malloc(sz, "clone_type_desc");
     memcpy(args->res, td, sizeof(type_desc));
 
     // Recursively copy any referenced descriptors: