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); |