mirror of
https://github.com/fluencelabs/wasmer
synced 2024-12-14 06:35:40 +00:00
26 lines
680 B
C
26 lines
680 B
C
|
#ifndef WASMER_EXCEPTION_HANDLING_H
|
||
|
#define WASMER_EXCEPTION_HANDLING_H
|
||
|
|
||
|
#include <stdint.h>
|
||
|
|
||
|
struct func_t;
|
||
|
struct wasmer_instance_context_t;
|
||
|
|
||
|
typedef void(*trampoline_t)(struct wasmer_instance_context_t*, const struct func_t*, const uint64_t*, uint64_t*);
|
||
|
|
||
|
struct call_protected_result_t {
|
||
|
uint64_t code;
|
||
|
uint64_t exceptionAddress;
|
||
|
uint64_t instructionPointer;
|
||
|
};
|
||
|
|
||
|
uint8_t callProtected(
|
||
|
trampoline_t trampoline,
|
||
|
const struct wasmer_instance_context_t* ctx,
|
||
|
const struct func_t* func,
|
||
|
const uint64_t* param_vec,
|
||
|
uint64_t* return_vec,
|
||
|
struct call_protected_result_t* out_result);
|
||
|
|
||
|
#endif //WASMER_EXCEPTION_HANDLING_H
|