rt: Remove upcall_shared_malloc/free/realloc

This commit is contained in:
Brian Anderson
2012-05-25 17:22:14 -07:00
parent 80dc2e11a1
commit a2bbdd3f52
8 changed files with 6 additions and 115 deletions
-75
View File
@@ -318,81 +318,6 @@ upcall_validate_box(rust_opaque_box* ptr) {
}
}
/**********************************************************************
* Allocate an object in the exchange heap.
*/
struct s_shared_malloc_args {
uintptr_t retval;
size_t nbytes;
};
extern "C" CDECL void
upcall_s_shared_malloc(s_shared_malloc_args *args) {
rust_task *task = rust_get_current_task();
LOG_UPCALL_ENTRY(task);
LOG(task, mem, "upcall shared_malloc(%" PRIdPTR ")", args->nbytes);
void *p = task->kernel->malloc(args->nbytes, "shared malloc");
memset(p, '\0', args->nbytes);
LOG(task, mem, "upcall shared_malloc(%" PRIdPTR ") = 0x%" PRIxPTR,
args->nbytes, (uintptr_t)p);
args->retval = (uintptr_t) p;
}
extern "C" CDECL uintptr_t
upcall_shared_malloc(size_t nbytes) {
s_shared_malloc_args args = {0, nbytes};
UPCALL_SWITCH_STACK(&args, upcall_s_shared_malloc);
return args.retval;
}
/**********************************************************************
* Called whenever an object in the exchange heap is freed.
*/
struct s_shared_free_args {
void *ptr;
};
extern "C" CDECL void
upcall_s_shared_free(s_shared_free_args *args) {
rust_task *task = rust_get_current_task();
LOG_UPCALL_ENTRY(task);
rust_sched_loop *sched_loop = task->sched_loop;
DLOG(sched_loop, mem,
"upcall shared_free(0x%" PRIxPTR")",
(uintptr_t)args->ptr);
task->kernel->free(args->ptr);
}
extern "C" CDECL void
upcall_shared_free(void* ptr) {
s_shared_free_args args = {ptr};
UPCALL_SWITCH_STACK(&args, upcall_s_shared_free);
}
struct s_shared_realloc_args {
void *retval;
void *ptr;
size_t size;
};
extern "C" CDECL void
upcall_s_shared_realloc(s_shared_realloc_args *args) {
rust_task *task = rust_get_current_task();
LOG_UPCALL_ENTRY(task);
args->retval = task->kernel->realloc(args->ptr, args->size);
}
extern "C" CDECL void *
upcall_shared_realloc(void *ptr, size_t size) {
s_shared_realloc_args args = {NULL, ptr, size};
UPCALL_SWITCH_STACK(&args, upcall_s_shared_realloc);
return args.retval;
}
/**********************************************************************/
struct s_str_new_uniq_args {