Index: src/compiler/frame-elider.cc |
diff --git a/src/compiler/frame-elider.cc b/src/compiler/frame-elider.cc |
index f800b7786f0ec6a9c4389728e8b9173b1ff9e335..7c3f9b2741ff3b0566bfc13065d26082425fe19b 100644 |
--- a/src/compiler/frame-elider.cc |
+++ b/src/compiler/frame-elider.cc |
@@ -22,7 +22,8 @@ void FrameElider::MarkBlocks() { |
for (auto block : instruction_blocks()) { |
if (block->needs_frame()) continue; |
for (auto i = block->code_start(); i < block->code_end(); ++i) { |
- if (InstructionAt(i)->IsCall()) { |
+ if (InstructionAt(i)->IsCall() || |
+ InstructionAt(i)->opcode() == ArchOpcode::kArchDeoptimize) { |
block->mark_needs_frame(); |
break; |
} |