Fix new RuntimeError integration with the LLVM-backend

This commit is contained in:
Mark McCaskey
2020-04-27 12:55:58 -07:00
parent 2bbe3406cf
commit cffdb387f7
10 changed files with 20 additions and 20 deletions

View File

@ -13,7 +13,7 @@ MemoryManager::~MemoryManager() {
callbacks.dealloc_memory(read_section.base, read_section.size);
callbacks.dealloc_memory(readwrite_section.base, readwrite_section.size);
}
void unwinding_setjmp(jmp_buf stack_out, void (*func)(void *), void *userdata) {
void unwinding_setjmp(jmp_buf &stack_out, void (*func)(void *), void *userdata) {
if (setjmp(stack_out)) {
} else {

View File

@ -63,6 +63,8 @@ enum WasmTrapType {
extern "C" void callback_trampoline(void *, void *);
extern "C" void copy_runtime_error(runtime_error_t src, runtime_error_t dst);
struct MemoryManager : llvm::RuntimeDyld::MemoryManager {
public:
MemoryManager(callbacks_t callbacks) : callbacks(callbacks) {}
@ -159,7 +161,7 @@ public:
runtime_error_t error_data;
virtual void write_error(WasmErrorSink &out) const noexcept override {
out.user_error = error_data;
copy_runtime_error(error_data, out.user_error);
}
};