Index: src/compiler/ia32/code-generator-ia32.cc |
diff --git a/src/compiler/ia32/code-generator-ia32.cc b/src/compiler/ia32/code-generator-ia32.cc |
index 3174c219b52e569ac91fef409187f5c8cbdb1d71..7571fe3dd5677859cec41466f314b853d5537613 100644 |
--- a/src/compiler/ia32/code-generator-ia32.cc |
+++ b/src/compiler/ia32/code-generator-ia32.cc |
@@ -1699,9 +1699,6 @@ void CodeGenerator::AssembleArchTrap(Instruction* instr, |
if (frame_elided_) { |
__ set_has_frame(old_has_frame); |
} |
- if (FLAG_debug_code) { |
- __ ud2(); |
- } |
} |
private: |
@@ -1713,15 +1710,20 @@ void CodeGenerator::AssembleArchTrap(Instruction* instr, |
__ CallCFunction( |
ExternalReference::wasm_call_trap_callback_for_testing(isolate()), |
0); |
+ __ LeaveFrame(StackFrame::WASM_COMPILED); |
+ __ Ret(); |
} else { |
__ Move(esi, Smi::kZero); |
gen_->AssembleSourcePosition(instr_); |
__ CallRuntime(trap_id); |
+ ReferenceMap* reference_map = |
+ new (gen_->zone()) ReferenceMap(gen_->zone()); |
+ gen_->RecordSafepoint(reference_map, Safepoint::kSimple, 0, |
+ Safepoint::kNoLazyDeopt); |
+ if (FLAG_debug_code) { |
+ __ ud2(); |
+ } |
} |
- ReferenceMap* reference_map = |
- new (gen_->zone()) ReferenceMap(gen_->zone()); |
- gen_->RecordSafepoint(reference_map, Safepoint::kSimple, 0, |
- Safepoint::kNoLazyDeopt); |
} |
bool frame_elided_; |