clone type desc into exchange heap

This commit is contained in:
Niko Matsakis 2011-12-13 16:53:10 -08:00
parent 85f381fb8a
commit f512e67fb9
1 changed files with 4 additions and 1 deletions

View 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: