5#ifndef V8_WASM_INTERPRETER_WASM_INTERPRETER_OBJECTS_H_
6#define V8_WASM_INTERPRETER_WASM_INTERPRETER_OBJECTS_H_
8#if !V8_ENABLE_WEBASSEMBLY
9#error This header should only be included if WebAssembly is enabled.
18class WasmInstanceObject;
21class InterpreterHandle;
60 const std::vector<wasm::WasmValue>& argument_values,
61 std::vector<wasm::WasmValue>& return_values);
64 int func_index, uint8_t* interpreter_sp);
74 Address frame_pointer,
int index);
static Tagged< Object > get_interpreter_handle(Tagged< Tuple2 > interpreter_object)
static int GetFunctionIndex(Tagged< Tuple2 > interpreter_object, Address frame_pointer, int index)
static void set_interpreter_handle(Tagged< Tuple2 > interpreter_object, Tagged< Object > interpreter_handle)
static Tagged< WasmInstanceObject > get_wasm_instance(Tagged< Tuple2 > interpreter_object)
static DirectHandle< Tuple2 > New(DirectHandle< WasmInstanceObject >)
static std::vector< WasmInterpreterStackEntry > GetInterpretedStack(Tagged< Tuple2 > interpreter_object, Address frame_pointer)
static void set_wasm_instance(Tagged< Tuple2 > interpreter_object, Tagged< WasmInstanceObject > wasm_instance)
static bool RunInterpreter(Isolate *isolate, Address frame_pointer, DirectHandle< WasmInstanceObject > instance, int func_index, const std::vector< wasm::WasmValue > &argument_values, std::vector< wasm::WasmValue > &return_values)
V8_EXPORT_PRIVATE InterpreterHandle * GetInterpreterHandle(Isolate *isolate, DirectHandle< Tuple2 > interpreter_object)
V8_EXPORT_PRIVATE InterpreterHandle * GetOrCreateInterpreterHandle(Isolate *isolate, DirectHandle< Tuple2 > interpreter_object)
#define V8_EXPORT_PRIVATE