Index: src/full-codegen/x87/full-codegen-x87.cc |
diff --git a/src/full-codegen/x87/full-codegen-x87.cc b/src/full-codegen/x87/full-codegen-x87.cc |
index d3041cdee34511515cff7e7eae0447c3abf242c4..250189f86471263f732d20290418b0fa459479b1 100644 |
--- a/src/full-codegen/x87/full-codegen-x87.cc |
+++ b/src/full-codegen/x87/full-codegen-x87.cc |
@@ -2377,11 +2377,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(edx, Immediate(SmiFromSlot(expr->CallFeedbackICSlot()))); |
__ mov(edi, Operand(esp, (arg_count + 1) * kPointerSize)); |
- __ Set(eax, arg_count); |
- __ Call(isolate()->builtins()->Call(ConvertReceiverMode::kAny, |
- expr->tail_call_mode()), |
- RelocInfo::CODE_TARGET); |
+ __ Move(eax, Immediate(arg_count)); |
+ __ call(code, RelocInfo::CODE_TARGET); |
OperandStackDepthDecrement(arg_count + 1); |
RecordJSReturnSite(expr); |
RestoreContext(); |