Index: src/x64/macro-assembler-x64.cc |
diff --git a/src/x64/macro-assembler-x64.cc b/src/x64/macro-assembler-x64.cc |
index 2fc825fc0bbf2402c4158590baaaa7665b1277cf..97374520d237923578047136f8ec88aa1a865688 100644 |
--- a/src/x64/macro-assembler-x64.cc |
+++ b/src/x64/macro-assembler-x64.cc |
@@ -1770,10 +1770,16 @@ void MacroAssembler::InvokeFunction(JSFunction* function, |
Move(rdi, Handle<JSFunction>(function)); |
movq(rsi, FieldOperand(rdi, JSFunction::kContextOffset)); |
- // Invoke the cached code. |
- Handle<Code> code(function->code()); |
- ParameterCount expected(function->shared()->formal_parameter_count()); |
- InvokeCode(code, expected, actual, RelocInfo::CODE_TARGET, flag); |
+ if (V8::UseCrankshaft()) { |
Rico
2011/01/27 11:52:41
Maybe add the comment from ia32 stating why we nee
Lasse Reichstein
2011/01/27 11:57:33
A comment has been added (without the TODO and "fo
|
+ movq(rdx, FieldOperand(rdi, JSFunction::kCodeEntryOffset)); |
+ ParameterCount expected(function->shared()->formal_parameter_count()); |
+ InvokeCode(rdx, expected, actual, flag); |
+ } else { |
+ // Invoke the cached code. |
+ Handle<Code> code(function->code()); |
+ ParameterCount expected(function->shared()->formal_parameter_count()); |
+ InvokeCode(code, expected, actual, RelocInfo::CODE_TARGET, flag); |
+ } |
} |