Index: src/interpreter/bytecode-generator.cc |
diff --git a/src/interpreter/bytecode-generator.cc b/src/interpreter/bytecode-generator.cc |
index 141d9ed3b68f3b2db05ec14c978d8ddaf50e11f1..74bdb7ebf4d4a778a2f4ba587f2528d565190b6a 100644 |
--- a/src/interpreter/bytecode-generator.cc |
+++ b/src/interpreter/bytecode-generator.cc |
@@ -2513,11 +2513,9 @@ void BytecodeGenerator::VisitCallSuper(Call* expr) { |
SuperCallReference* super = expr->expression()->AsSuperCallReference(); |
// Prepare the constructor to the super call. |
- Register this_function = VisitForRegisterValue(super->this_function_var()); |
- builder()->CallRuntime(Runtime::kInlineGetSuperConstructor, this_function); |
- |
- Register constructor = this_function; // Re-use dead this_function register. |
- builder()->StoreAccumulatorInRegister(constructor); |
+ VisitForAccumulatorValue(super->this_function_var()); |
+ Register constructor = register_allocator()->NewRegister(); |
+ builder()->GetSuperConstructor(constructor); |
ZoneList<Expression*>* args = expr->arguments(); |