20 Isolate* isolate = instance->GetIsolate();
21 Factory* factory = isolate->factory();
23 instance->trusted_data(isolate), isolate);
27 trusted_data->set_interpreter_object(*interpreter_object);
28 return interpreter_object;
35 const std::vector<wasm::WasmValue>& argument_values,
36 std::vector<wasm::WasmValue>& return_values) {
45 WasmTrustedInstanceData::GetInterpreterObject(instance);
49 return handle->Execute(thread, frame_pointer,
50 static_cast<uint32_t
>(func_index), argument_values,
58 uint8_t* interpreter_sp) {
67 WasmTrustedInstanceData::GetInterpreterObject(instance);
71 return handle->Execute(thread, frame_pointer,
72 static_cast<uint32_t
>(func_index), interpreter_sp);
76std::vector<WasmInterpreterStackEntry>
80 DCHECK(!IsUndefined(handle_obj));
83 ->GetInterpretedStack(frame_pointer);
88 Address frame_pointer,
int index) {
90 DCHECK(!IsUndefined(handle_obj));
93 ->GetFunctionIndex(frame_pointer, index);
DirectHandle< Tuple2 > NewTuple2(DirectHandle< Object > value1, DirectHandle< Object > value2, AllocationType allocation)
static Tagged< Object > get_interpreter_handle(Tagged< Tuple2 > interpreter_object)
static int GetFunctionIndex(Tagged< Tuple2 > interpreter_object, Address frame_pointer, int index)
static DirectHandle< Tuple2 > New(DirectHandle< WasmInstanceObject >)
static std::vector< WasmInterpreterStackEntry > GetInterpretedStack(Tagged< Tuple2 > interpreter_object, Address frame_pointer)
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)
static WasmInterpreterThread * GetCurrentInterpreterThread(Isolate *isolate)
V8_EXPORT_PRIVATE InterpreterHandle * GetInterpreterHandle(Isolate *isolate, DirectHandle< Tuple2 > interpreter_object)
V8_EXPORT_PRIVATE InterpreterHandle * GetOrCreateInterpreterHandle(Isolate *isolate, DirectHandle< Tuple2 > interpreter_object)
V8_INLINE IndirectHandle< T > handle(Tagged< T > object, Isolate *isolate)
V8_EXPORT_PRIVATE FlagValues v8_flags
Tagged< To > Cast(Tagged< From > value, const v8::SourceLocation &loc=INIT_SOURCE_LOCATION_IN_DEBUG)
#define DCHECK_LE(v1, v2)
#define DCHECK_NOT_NULL(val)
#define DCHECK(condition)