| Index: src/ia32/builtins-ia32.cc
|
| diff --git a/src/ia32/builtins-ia32.cc b/src/ia32/builtins-ia32.cc
|
| index 1f73a7dd239a2dda54b3bf7b23ad2b86eff2b7d9..ea2fd456772bd01269dbd7f608fa7fb7e873825b 100644
|
| --- a/src/ia32/builtins-ia32.cc
|
| +++ b/src/ia32/builtins-ia32.cc
|
| @@ -367,9 +367,8 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
|
| __ mov(esi, FieldOperand(edi, JSFunction::kContextOffset));
|
| Handle<Code> code =
|
| masm->isolate()->builtins()->HandleApiCallConstruct();
|
| - ParameterCount expected(0);
|
| - __ InvokeCode(code, expected, expected, RelocInfo::CODE_TARGET,
|
| - CALL_FUNCTION, NullCallWrapper(), CALL_AS_METHOD);
|
| + __ SetCallKind(ecx, CALL_AS_METHOD);
|
| + __ call(code, RelocInfo::CODE_TARGET);
|
| } else {
|
| ParameterCount actual(eax);
|
| __ InvokeFunction(edi, actual, CALL_FUNCTION,
|
| @@ -1254,13 +1253,14 @@ void Builtins::Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm) {
|
| // -- eax : actual number of arguments
|
| // -- ebx : expected number of arguments
|
| // -- ecx : call kind information
|
| - // -- edx : code entry to call
|
| + // -- edi : function (passed through to callee)
|
| // -----------------------------------
|
|
|
| Label invoke, dont_adapt_arguments;
|
| __ IncrementCounter(masm->isolate()->counters()->arguments_adaptors(), 1);
|
|
|
| Label enough, too_few;
|
| + __ mov(edx, FieldOperand(edi, JSFunction::kCodeEntryOffset));
|
| __ cmp(eax, ebx);
|
| __ j(less, &too_few);
|
| __ cmp(ebx, SharedFunctionInfo::kDontAdaptArgumentsSentinel);
|
|
|