Index: src/interpreter/bytecode-generator.cc |
diff --git a/src/interpreter/bytecode-generator.cc b/src/interpreter/bytecode-generator.cc |
index 13351845de104a06bd8cf275beb2ea1631db2d70..12c512c2e5d7d34a2ead62c8b6075460b5d4e1a8 100644 |
--- a/src/interpreter/bytecode-generator.cc |
+++ b/src/interpreter/bytecode-generator.cc |
@@ -2503,11 +2503,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(); |