Index: src/full-codegen.cc |
diff --git a/src/full-codegen.cc b/src/full-codegen.cc |
index 95957d61411ed219736607dd607a23d77b3c7792..759265e5faab5ec645d7abc00ffeed25d71a51bd 100644 |
--- a/src/full-codegen.cc |
+++ b/src/full-codegen.cc |
@@ -276,7 +276,12 @@ void BreakableStatementChecker::VisitThisFunction(ThisFunction* expr) { |
} |
-void BreakableStatementChecker::VisitSuperReference(SuperReference* expr) {} |
+void BreakableStatementChecker::VisitSuperPropertyReference( |
+ SuperPropertyReference* expr) {} |
+ |
+ |
+void BreakableStatementChecker::VisitSuperCallReference( |
+ SuperCallReference* expr) {} |
#define __ ACCESS_MASM(masm()) |
@@ -668,7 +673,13 @@ void FullCodeGenerator::SetStatementPosition(Statement* stmt) { |
} |
-void FullCodeGenerator::VisitSuperReference(SuperReference* super) { |
+void FullCodeGenerator::VisitSuperPropertyReference( |
+ SuperPropertyReference* super) { |
+ __ CallRuntime(Runtime::kThrowUnsupportedSuperError, 0); |
+} |
+ |
+ |
+void FullCodeGenerator::VisitSuperCallReference(SuperCallReference* super) { |
__ CallRuntime(Runtime::kThrowUnsupportedSuperError, 0); |
} |
@@ -978,6 +989,12 @@ void FullCodeGenerator::EmitPropertyKey(ObjectLiteralProperty* property, |
} |
+void FullCodeGenerator::EmitLoadSuperConstructor(SuperCallReference* ref) { |
+ VisitForStackValue(ref->this_function_var()); |
+ __ CallRuntime(Runtime::kGetPrototype, 1); |
+} |
+ |
+ |
void FullCodeGenerator::VisitReturnStatement(ReturnStatement* stmt) { |
Comment cmnt(masm_, "[ ReturnStatement"); |
SetStatementPosition(stmt); |