Index: src/interpreter/bytecode-generator.cc |
diff --git a/src/interpreter/bytecode-generator.cc b/src/interpreter/bytecode-generator.cc |
index ad1356f31a119a128c587bcc3b87dc34b1ca8bdd..22494607f5e515a7db9eb1229bcb3ea960c3ee13 100644 |
--- a/src/interpreter/bytecode-generator.cc |
+++ b/src/interpreter/bytecode-generator.cc |
@@ -362,7 +362,7 @@ void BytecodeGenerator::ControlScope::PerformCommand(Command command, |
return; |
} |
current = current->outer(); |
- if (current->context() != context) { |
+ if (current->context() != context && context->ShouldPopContext()) { |
// Pop context to the expected depth. |
// TODO(rmcilroy): Only emit a single context pop. |
generator()->builder()->PopContext(current->context()->reg()); |