1 #ifndef __MONO_MINI_WASM_H__
2 #define __MONO_MINI_WASM_H__
4 #include <mono/utils/mono-sigcontext.h>
5 #include <mono/utils/mono-context.h>
7 #define MONO_ARCH_CPU_SPEC mono_wasm_desc
9 #define MONO_ARCH_HAVE_INIT_LMF_EXT 1
11 #define MONO_MAX_IREGS 1
12 #define MONO_MAX_FREGS 1
19 * If the second lowest bit is set to 1, then this is a MonoLMFExt structure, and
20 * the other fields are not valid.
22 gpointer previous_lmf;
25 /* This is only set in trampoline LMF frames */
35 #define MONO_ARCH_INIT_TOP_LMF_ENTRY(lmf) do { (lmf)->top_entry = TRUE; } while (0)
37 #define MONO_CONTEXT_SET_LLVM_EXC_REG(ctx, exc) do { (ctx)->llvm_exc_reg = (gsize)exc; } while (0)
39 #define MONO_INIT_CONTEXT_FROM_FUNC(ctx,start_func) do { \
40 MONO_CONTEXT_SET_IP ((ctx), (start_func)); \
41 MONO_CONTEXT_SET_BP ((ctx), (0)); \
42 MONO_CONTEXT_SET_SP ((ctx), (0)); \
46 #define MONO_ARCH_VTABLE_REG WASM_REG_0
47 #define MONO_ARCH_IMT_REG WASM_REG_0
48 #define MONO_ARCH_RGCTX_REG WASM_REG_0
50 #endif /* __MONO_MINI_WASM_H__ */