Index: src/ia32/codegen-ia32.cc |
=================================================================== |
--- src/ia32/codegen-ia32.cc (revision 5232) |
+++ src/ia32/codegen-ia32.cc (working copy) |
@@ -3435,10 +3435,8 @@ |
__ j(zero, &build_args); |
__ CmpObjectType(eax, JS_FUNCTION_TYPE, ecx); |
__ j(not_equal, &build_args); |
- __ mov(ecx, FieldOperand(eax, JSFunction::kSharedFunctionInfoOffset)); |
Handle<Code> apply_code(Builtins::builtin(Builtins::FunctionApply)); |
- __ cmp(FieldOperand(ecx, SharedFunctionInfo::kCodeOffset), |
- Immediate(apply_code)); |
+ __ cmp(FieldOperand(eax, JSFunction::kCodeOffset), Immediate(apply_code)); |
__ j(not_equal, &build_args); |
// Check that applicand is a function. |
@@ -9690,6 +9688,11 @@ |
__ mov(FieldOperand(eax, JSFunction::kContextOffset), esi); |
__ mov(FieldOperand(eax, JSFunction::kLiteralsOffset), ebx); |
+ // Initialize the code pointer in the function to be the one |
+ // found in the shared function info object. |
+ __ mov(edx, FieldOperand(edx, SharedFunctionInfo::kCodeOffset)); |
+ __ mov(FieldOperand(eax, JSFunction::kCodeOffset), edx); |
+ |
// Return and remove the on-stack parameter. |
__ ret(1 * kPointerSize); |