Index: src/full-codegen/full-codegen.cc |
diff --git a/src/full-codegen/full-codegen.cc b/src/full-codegen/full-codegen.cc |
index e9a043ab343ad16aaf27223e3ef97a67a33dbd8e..43bbc59cd1bcd7198dad0c27f10483a683efa042 100644 |
--- a/src/full-codegen/full-codegen.cc |
+++ b/src/full-codegen/full-codegen.cc |
@@ -683,11 +683,15 @@ void FullCodeGenerator::SetCallPosition(Expression* expr, |
void FullCodeGenerator::VisitSuperPropertyReference( |
SuperPropertyReference* super) { |
__ CallRuntime(Runtime::kThrowUnsupportedSuperError); |
+ // Even though this expression doesn't produce a value, we need to simulate |
+ // plugging of the value context to ensure stack depth tracking is in sync. |
+ if (context()->IsStackValue()) OperandStackDepthIncrement(1); |
} |
void FullCodeGenerator::VisitSuperCallReference(SuperCallReference* super) { |
- __ CallRuntime(Runtime::kThrowUnsupportedSuperError); |
+ // Handled by VisitCall |
+ UNREACHABLE(); |
} |