Index: src/full-codegen/x87/full-codegen-x87.cc |
diff --git a/src/full-codegen/x87/full-codegen-x87.cc b/src/full-codegen/x87/full-codegen-x87.cc |
index 29a277edfa224493a5a315b2cb674b97bfd8a32b..3f4c894c460bf1b0e00e9ac4057ed19df99ffc3f 100644 |
--- a/src/full-codegen/x87/full-codegen-x87.cc |
+++ b/src/full-codegen/x87/full-codegen-x87.cc |
@@ -2936,7 +2936,7 @@ void FullCodeGenerator::VisitCallNew(CallNew* expr) { |
// Call the construct call builtin that handles allocation and |
// constructor invocation. |
- SetConstructCallPosition(expr); |
+ SetConstructCallPosition(expr, arg_count); |
// Load function and argument count into edi and eax. |
__ Move(eax, Immediate(arg_count)); |
@@ -2972,7 +2972,7 @@ void FullCodeGenerator::EmitSuperConstructorCall(Call* expr) { |
// Call the construct call builtin that handles allocation and |
// constructor invocation. |
- SetConstructCallPosition(expr); |
+ SetConstructCallPosition(expr, arg_count); |
// Load new target into ecx. |
VisitForAccumulatorValue(super_call_ref->new_target_var()); |
@@ -3713,6 +3713,10 @@ void FullCodeGenerator::EmitDefaultConstructorCallSuper(CallRuntime* expr) { |
VisitForStackValue(args->at(0)); |
VisitForStackValue(args->at(1)); |
+ // Call the construct call builtin that handles allocation and |
+ // constructor invocation. |
+ SetConstructCallPosition(expr, 0); |
+ |
// Check if the calling frame is an arguments adaptor frame. |
Label adaptor_frame, args_set_up, runtime; |
__ mov(edx, Operand(ebp, StandardFrameConstants::kCallerFPOffset)); |