Lines Matching refs:instance

50 // an instance finalizer is not guaranteed to run upon isolate shutdown,
55 WasmInstanceNativeAllocations(Handle<WasmInstanceObject> instance,
65 instance->set_imported_function_targets(imported_function_targets_.get());
66 instance->set_imported_mutable_globals(imported_mutable_globals_.get());
67 instance->set_data_segment_starts(data_segment_starts_.get());
68 instance->set_data_segment_sizes(data_segment_sizes_.get());
69 instance->set_dropped_elem_segments(dropped_elem_segments_.get());
193 Isolate* isolate, Handle<WasmInstanceObject> instance, wasm::ValueType type,
199 instance.is_null() ? nullptr : instance->module();
221 if (!instance.is_null()) table_obj->set_instance(*instance);
236 Handle<WasmInstanceObject> instance,
242 if (instance.is_null()) return;
251 *instance);
291 // Tables are stored in the instance object, no code patching is
292 // necessary. We simply have to grow the raw tables in each instance
302 Handle<WasmInstanceObject> instance(
306 instance->GetIndirectFunctionTable(isolate, table_index)->size());
308 instance, table_index, new_size);
328 !table->instance().IsUndefined()
329 ? WasmInstanceObject::cast(table->instance()).module()
355 Handle<WasmInstanceObject> target_instance(exported_function->instance(),
398 DCHECK(!table->instance().IsUndefined());
400 DCHECK(WasmInstanceObject::cast(table->instance())
440 DCHECK(!table->instance().IsUndefined());
442 DCHECK(WasmInstanceObject::cast(table->instance())
452 auto instance = handle(WasmInstanceObject::cast(tuple->value1()), isolate);
458 WasmInstanceObject::GetOrCreateWasmInternalFunction(isolate, instance,
484 // We simply need to update the IFTs for each instance that imports
491 // The function in the target instance was imported. Use its imports
494 // For wasm functions, just pass the target instance.
504 WasmInstanceObject instance = WasmInstanceObject::cast(
506 const WasmModule* module = instance.module();
522 instance.indirect_function_tables().get(table_index));
531 // We simply need to update the IFTs for each instance that imports
540 Handle<WasmInstanceObject> instance(
545 isolate, instance, table_index, entry_index, function);
552 // We simply need to update the IFTs for each instance that imports
579 Handle<WasmInstanceObject> instance(
584 instance->module_object().native_module();
604 auto sig_id = instance->module()->signature_map.Find(sig);
605 instance->GetIndirectFunctionTable(isolate, table_index)
636 Handle<WasmInstanceObject> instance, int func_index) {
637 // Put (instance, func_index) as a Tuple2 into the entry_index.
643 instance, Handle<Smi>(Smi::FromInt(func_index), isolate),
651 MaybeHandle<WasmInstanceObject>* instance, int* function_index,
668 *instance = handle(target_func->instance(), isolate);
674 *instance = MaybeHandle<WasmInstanceObject>();
680 *instance = handle(WasmInstanceObject::cast(tuple->value1()), isolate);
780 void SetInstanceMemory(Handle<WasmInstanceObject> instance,
782 bool is_wasm_module = instance->module()->origin == wasm::kWasmOrigin;
784 instance->module_object().native_module()->bounds_checks() ==
791 instance->SetRawMemory(reinterpret_cast<byte*>(buffer->backing_store()),
798 byte* mem_start = instance->memory_start();
799 size_t mem_size = instance->memory_size();
835 // to it's owning WasmMemoryObject instance.
886 Handle<WasmInstanceObject> instance) {
893 isolate, old_instances, MaybeObjectHandle::Weak(instance));
896 SetInstanceMemory(instance, buffer);
907 Handle<WasmInstanceObject> instance(
909 SetInstanceMemory(instance, buffer);
987 // to it's owning WasmMemoryObject instance.
1020 // to it's owning WasmMemoryObject instance.
1028 Isolate* isolate, Handle<WasmInstanceObject> instance,
1039 if (!instance.is_null()) global_obj->set_instance(*instance);
1082 // The function in the target instance was imported. Use its imports table,
1088 // The function in the target instance was not imported.
1110 void ImportedFunctionEntry::SetWasmToWasm(WasmInstanceObject instance,
1112 TRACE_IFT("Import Wasm 0x%" PRIxPTR "[%d] = {instance=0x%" PRIxPTR
1114 instance_->ptr(), index_, instance.ptr(), call_target);
1115 instance_->imported_function_refs().set(index_, instance);
1144 Handle<WasmInstanceObject> instance, int table_index,
1146 Isolate* isolate = instance->GetIsolate();
1147 DCHECK_LT(table_index, instance->indirect_function_tables().length());
1149 instance->GetIndirectFunctionTable(isolate, table_index);
1152 instance->SetIndirectFunctionTableShortcuts(isolate);
1181 Handle<WasmInstanceObject> instance(
1183 instance->clear_padding();
1192 isolate, native_allocations_size, instance, num_imported_functions,
1195 instance->set_managed_native_allocations(*native_allocations);
1199 instance->set_imported_function_refs(*imported_function_refs);
1201 instance->SetRawMemory(reinterpret_cast<byte*>(EmptyBackingStoreBuffer()), 0);
1202 instance->set_isolate_root(isolate->isolate_root());
1203 instance->set_stack_limit_address(
1205 instance->set_real_stack_limit_address(
1207 instance->set_new_allocation_limit_address(
1209 instance->set_new_allocation_top_address(
1211 instance->set_old_allocation_limit_address(
1213 instance->set_old_allocation_top_address(
1215 instance->set_globals_start(nullptr);
1216 instance->set_indirect_function_table_size(0);
1217 instance->set_indirect_function_table_refs(
1219 instance->set_indirect_function_table_sig_ids(nullptr);
1220 instance->set_indirect_function_table_targets(nullptr);
1221 instance->set_native_context(*isolate->native_context());
1222 instance->set_module_object(*module_object);
1223 instance->set_jump_table_start(
1225 instance->set_hook_on_function_call_address(
1227 instance->set_managed_object_maps(*isolate->factory()->empty_fixed_array());
1228 instance->set_feedback_vectors(*isolate->factory()->empty_fixed_array());
1229 instance->set_tiering_budget_array(
1231 instance->set_break_on_entry(module_object->script().break_on_entry());
1233 // Insert the new instance into the scripts weak list of instances. This list
1239 isolate, weak_instance_list, MaybeObjectHandle::Weak(instance));
1243 InitDataSegmentArrays(instance, module_object);
1244 InitElemSegmentArrays(instance, module_object);
1246 return instance;
1251 Handle<WasmInstanceObject> instance,
1268 instance->data_segment_starts()[i] =
1273 instance->data_segment_sizes()[i] =
1279 Handle<WasmInstanceObject> instance,
1284 instance->dropped_elem_segments()[i] =
1323 Handle<WasmInstanceObject> instance,
1328 CHECK_LT(table_dst_index, instance->tables().length());
1329 CHECK_LT(table_src_index, instance->tables().length());
1331 WasmTableObject::cast(instance->tables().get(table_dst_index)), isolate);
1333 WasmTableObject::cast(instance->tables().get(table_src_index)), isolate);
1358 Handle<WasmInstanceObject> instance,
1365 return wasm::LoadElemSegment(isolate, instance, table_index, segment_index,
1370 Isolate* isolate, Handle<WasmInstanceObject> instance, int index) {
1372 if (instance->has_wasm_internal_functions()) {
1373 Object val = instance->wasm_internal_functions().get(index);
1384 Isolate* isolate, Handle<WasmInstanceObject> instance, int function_index) {
1386 WasmInstanceObject::GetWasmInternalFunction(isolate, instance,
1394 Handle<WasmModuleObject> module_object(instance->module_object(), isolate);
1414 isolate, function.sig, instance->module(), function.imported),
1419 isolate, instance, function_index,
1424 WasmInstanceObject::SetWasmInternalFunction(isolate, instance, function_index,
1430 Isolate* isolate, Handle<WasmInstanceObject> instance, int index,
1433 if (!instance->has_wasm_internal_functions()) {
1436 static_cast<int>(instance->module()->functions.size()));
1437 instance->set_wasm_internal_functions(*functions);
1440 Handle<FixedArray>(instance->wasm_internal_functions(), isolate);
1447 Isolate* isolate, Handle<WasmInstanceObject> instance, int table_index,
1454 auto sig_id = instance->module()->signature_map.Find(*sig);
1462 instance->module_object().native_module();
1467 callable, sig, instance->module(), enabled);
1507 instance->indirect_function_tables().get(table_index))
1513 Handle<WasmInstanceObject> instance, const wasm::WasmGlobal& global) {
1517 instance->imported_mutable_globals()[global.index]);
1519 return instance->globals_start() + global.offset;
1525 WasmInstanceObject::GetGlobalBufferAndIndex(Handle<WasmInstanceObject> instance,
1528 Isolate* isolate = instance->GetIsolate();
1532 instance->imported_mutable_globals_buffers().get(global.index)),
1534 Address idx = instance->imported_mutable_globals()[global.index];
1538 return {handle(instance->tagged_globals_buffer(), isolate), global.offset};
1543 Handle<WasmInstanceObject> instance, const wasm::WasmGlobal& global) {
1544 Isolate* isolate = instance->GetIsolate();
1549 GetGlobalBufferAndIndex(instance, global);
1553 Address ptr = reinterpret_cast<Address>(GetGlobalStorage(instance, global));
1932 WasmInstanceObject WasmExportedFunction::instance() {
1933 return shared().wasm_exported_function_data().instance();
1941 Isolate* isolate, Handle<WasmInstanceObject> instance, int func_index,
1948 int num_imported_functions = instance->module()->num_imported_functions;
1951 ? instance
1952 : handle(instance->imported_function_refs().get(func_index), isolate);
1955 const wasm::FunctionSig* sig = instance->module()->functions[func_index].sig;
1956 Address call_target = instance->GetCallTarget(func_index);
1959 instance->module_object().native_module()->enabled_features().has_gc();
1961 int sig_index = instance->module()->functions[func_index].sig_index;
1963 rtt = handle(Map::cast(instance->managed_object_maps().get(sig_index)),
1970 export_wrapper, instance, call_target, ref, func_index,
1974 bool is_asm_js_module = instance->module_object().is_asm_js();
1979 isolate, handle(instance->module_object(), isolate), func_index);
1991 switch (instance->module()->origin) {
2017 shared->set_script(instance->module_object().script());
2023 return instance().GetCallTarget(function_index());
2027 return instance().module()->functions[function_index()].sig;
2040 this->instance().module(), other_module)) {
2328 const WasmModule* exporting_module = function.instance().module();