Index: src/interpreter/bytecode-generator.cc |
diff --git a/src/interpreter/bytecode-generator.cc b/src/interpreter/bytecode-generator.cc |
index 9b31c13107e4a94c30c9f9ad4ee6ef9e64db9939..6d17bb559be20b7833035d3520e77d54818a61aa 100644 |
--- a/src/interpreter/bytecode-generator.cc |
+++ b/src/interpreter/bytecode-generator.cc |
@@ -2507,11 +2507,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(); |