Lines Matching refs:ool
621 for (auto& ool : out_of_line_code_) Unuse(ool.label.get()); in UnuseLabels() local
723 OutOfLineCode& ool = out_of_line_code_.back(); in StackCheck() local
724 __ StackCheck(ool.label.get(), limit_address); in StackCheck()
725 __ bind(ool.continuation.get()); in StackCheck()
758 OutOfLineCode& ool = out_of_line_code_.back(); in TierupCheck() local
760 ool.label.get()); in TierupCheck()
762 __ bind(ool.continuation.get()); in TierupCheck()
919 void GenerateOutOfLineCode(OutOfLineCode* ool) { in GenerateOutOfLineCode() argument
921 (std::string("OOL: ") + GetRuntimeStubName(ool->stub)).c_str()); in GenerateOutOfLineCode()
922 __ bind(ool->label.get()); in GenerateOutOfLineCode()
923 const bool is_stack_check = ool->stub == WasmCode::kWasmStackGuard; in GenerateOutOfLineCode()
924 const bool is_tierup = ool->stub == WasmCode::kWasmTriggerTierUp; in GenerateOutOfLineCode()
929 DCHECK_IMPLIES(ool->stub != WasmCode::kThrowWasmTrapMemOutOfBounds, in GenerateOutOfLineCode()
930 ool->pc == 0); in GenerateOutOfLineCode()
932 if (env_->bounds_checks == kTrapHandler && ool->pc != 0) { in GenerateOutOfLineCode()
936 trap_handler::ProtectedInstructionData{ool->pc, pc}); in GenerateOutOfLineCode()
951 if (!ool->regs_to_save.is_empty()) { in GenerateOutOfLineCode()
952 __ PushRegisters(ool->regs_to_save); in GenerateOutOfLineCode()
954 if (V8_UNLIKELY(ool->spilled_registers != nullptr)) { in GenerateOutOfLineCode()
955 for (auto& entry : ool->spilled_registers->entries) { in GenerateOutOfLineCode()
957 DCHECK(!ool->regs_to_save.has(entry.reg)); in GenerateOutOfLineCode()
963 __ pc_offset(), SourcePosition(ool->position), true); in GenerateOutOfLineCode()
964 __ CallRuntimeStub(ool->stub); in GenerateOutOfLineCode()
967 if (ool->safepoint_info) { in GenerateOutOfLineCode()
968 for (auto index : ool->safepoint_info->slots) { in GenerateOutOfLineCode()
973 LiftoffRegList gp_regs = ool->regs_to_save & kGpCacheRegList; in GenerateOutOfLineCode()
983 ool->safepoint_info->spills, index); in GenerateOutOfLineCode()
991 DCHECK_EQ(!debug_sidetable_builder_, !ool->debug_sidetable_entry_builder); in GenerateOutOfLineCode()
992 if (V8_UNLIKELY(ool->debug_sidetable_entry_builder)) { in GenerateOutOfLineCode()
993 ool->debug_sidetable_entry_builder->set_pc_offset(__ pc_offset()); in GenerateOutOfLineCode()
995 DCHECK_EQ(ool->continuation.get()->is_bound(), is_stack_check || is_tierup); in GenerateOutOfLineCode()
999 if (!ool->regs_to_save.is_empty()) __ PopRegisters(ool->regs_to_save); in GenerateOutOfLineCode()
1001 if (V8_UNLIKELY(ool->spilled_registers != nullptr)) { in GenerateOutOfLineCode()
1003 for (auto& entry : ool->spilled_registers->entries) { in GenerateOutOfLineCode()
1007 if (ool->cached_instance != no_reg) { in GenerateOutOfLineCode()
1008 __ LoadInstanceFromFrame(ool->cached_instance); in GenerateOutOfLineCode()
1010 __ emit_jump(ool->continuation.get()); in GenerateOutOfLineCode()
1022 for (OutOfLineCode& ool : out_of_line_code_) { in FinishFunction()
1023 GenerateOutOfLineCode(&ool); in FinishFunction()