Index: src/full-codegen/x64/full-codegen-x64.cc |
diff --git a/src/full-codegen/x64/full-codegen-x64.cc b/src/full-codegen/x64/full-codegen-x64.cc |
index 0624c28288b390e1dcb93e2c3505f1b595eb1f91..546c3c3fcf2dd551c9023d716b147dcd05a15f12 100644 |
--- a/src/full-codegen/x64/full-codegen-x64.cc |
+++ b/src/full-codegen/x64/full-codegen-x64.cc |
@@ -2375,11 +2375,13 @@ void FullCodeGenerator::EmitPossiblyEvalCall(Call* expr) { |
PrepareForBailoutForId(expr->EvalId(), BailoutState::NO_REGISTERS); |
SetCallPosition(expr); |
+ Handle<Code> code = CodeFactory::CallIC(isolate(), ConvertReceiverMode::kAny, |
+ expr->tail_call_mode()) |
+ .code(); |
+ __ Move(rdx, SmiFromSlot(expr->CallFeedbackICSlot())); |
__ movp(rdi, Operand(rsp, (arg_count + 1) * kPointerSize)); |
__ Set(rax, arg_count); |
- __ Call(isolate()->builtins()->Call(ConvertReceiverMode::kAny, |
- expr->tail_call_mode()), |
- RelocInfo::CODE_TARGET); |
+ __ call(code, RelocInfo::CODE_TARGET); |
OperandStackDepthDecrement(arg_count + 1); |
RecordJSReturnSite(expr); |
RestoreContext(); |