| Index: src/full-codegen/ia32/full-codegen-ia32.cc
|
| diff --git a/src/full-codegen/ia32/full-codegen-ia32.cc b/src/full-codegen/ia32/full-codegen-ia32.cc
|
| index 946ed8f83c3c847fa0284c7c90dd00428cbf4b00..763c97f604dfd679d02db38bd0397cf55ce63819 100644
|
| --- a/src/full-codegen/ia32/full-codegen-ia32.cc
|
| +++ b/src/full-codegen/ia32/full-codegen-ia32.cc
|
| @@ -2975,7 +2975,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));
|
| @@ -3011,7 +3011,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());
|
| @@ -3752,6 +3752,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));
|
|
|