From f8323ac6156fd3234a94351a4104a1203bd83df1 Mon Sep 17 00:00:00 2001 From: Elliott Slaughter Date: Tue, 10 Jul 2012 10:59:58 -0700 Subject: [PATCH] rt: Add interface to box annihilator. --- src/rt/rust_box_annihilator.cpp | 1 + src/rt/rust_box_annihilator.h | 12 ++++++++++++ src/rt/rust_builtin.cpp | 7 +++++++ 3 files changed, 20 insertions(+) create mode 100644 src/rt/rust_box_annihilator.h diff --git a/src/rt/rust_box_annihilator.cpp b/src/rt/rust_box_annihilator.cpp index ce4dc55cd7073..91f6f853107e8 100644 --- a/src/rt/rust_box_annihilator.cpp +++ b/src/rt/rust_box_annihilator.cpp @@ -2,6 +2,7 @@ #include "rust_globals.h" #include "rust_task.h" #include "rust_shape.h" +#include "rust_box_annihilator.h" class annihilator : public shape::data { friend class shape::data; diff --git a/src/rt/rust_box_annihilator.h b/src/rt/rust_box_annihilator.h new file mode 100644 index 0000000000000..7064c36547e88 --- /dev/null +++ b/src/rt/rust_box_annihilator.h @@ -0,0 +1,12 @@ +#ifndef RUST_BOX_ANNIHILATOR_H +#define RUST_BOX_ANNIHILATOR_H + +#include "rust_task.h" + +void +annihilate_box(rust_task *task, rust_opaque_box *box); + +void +annihilate_boxes(rust_task *task); + +#endif diff --git a/src/rt/rust_builtin.cpp b/src/rt/rust_builtin.cpp index cabc086b64ff0..e4a34e06b2474 100644 --- a/src/rt/rust_builtin.cpp +++ b/src/rt/rust_builtin.cpp @@ -7,6 +7,7 @@ #include "sync/timer.h" #include "rust_abi.h" #include "rust_port.h" +#include "rust_box_annihilator.h" #include @@ -740,6 +741,12 @@ rust_set_exit_status(intptr_t code) { task->kernel->set_exit_status((int)code); } +extern "C" CDECL void +rust_annihilate_box(rust_opaque_box *ptr) { + rust_task *task = rust_get_current_task(); + annihilate_box(task, ptr); +} + extern void log_console_on(); extern "C" CDECL void