| Index: src/x64/full-codegen-x64.cc
|
| diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc
|
| index 8121cb2c8d3a748467b8bd4d5f12e03c63aca3f4..5a0106dca67731699d70e7d90af79ec1622f3f8f 100644
|
| --- a/src/x64/full-codegen-x64.cc
|
| +++ b/src/x64/full-codegen-x64.cc
|
| @@ -1007,7 +1007,7 @@ void FullCodeGenerator::VisitSwitchStatement(SwitchStatement* stmt) {
|
|
|
| // Record position before stub call for type feedback.
|
| SetSourcePosition(clause->position());
|
| - Handle<Code> ic = CompareIC::GetUninitialized(Token::EQ_STRICT);
|
| + Handle<Code> ic = CompareIC::GetUninitialized(isolate(), Token::EQ_STRICT);
|
| CallIC(ic, RelocInfo::CODE_TARGET, clause->CompareId());
|
| patch_site.EmitPatchInfo();
|
|
|
| @@ -1926,7 +1926,7 @@ void FullCodeGenerator::EmitInlineSmiBinaryOp(BinaryOperation* expr,
|
| __ bind(&stub_call);
|
| __ movq(rax, rcx);
|
| BinaryOpStub stub(op, mode);
|
| - CallIC(stub.GetCode(), RelocInfo::CODE_TARGET,
|
| + CallIC(stub.GetCode(isolate()), RelocInfo::CODE_TARGET,
|
| expr->BinaryOperationFeedbackId());
|
| patch_site.EmitPatchInfo();
|
| __ jmp(&done, Label::kNear);
|
| @@ -1976,7 +1976,7 @@ void FullCodeGenerator::EmitBinaryOp(BinaryOperation* expr,
|
| __ pop(rdx);
|
| BinaryOpStub stub(op, mode);
|
| JumpPatchSite patch_site(masm_); // unbound, signals no inlined smi code.
|
| - CallIC(stub.GetCode(), RelocInfo::CODE_TARGET,
|
| + CallIC(stub.GetCode(isolate()), RelocInfo::CODE_TARGET,
|
| expr->BinaryOperationFeedbackId());
|
| patch_site.EmitPatchInfo();
|
| context()->Plug(rax);
|
| @@ -2457,7 +2457,7 @@ void FullCodeGenerator::VisitCallNew(CallNew* expr) {
|
| __ Move(rbx, cell);
|
|
|
| CallConstructStub stub(RECORD_CALL_TARGET);
|
| - __ Call(stub.GetCode(), RelocInfo::CONSTRUCT_CALL);
|
| + __ Call(stub.GetCode(isolate()), RelocInfo::CONSTRUCT_CALL);
|
| PrepareForBailoutForId(expr->ReturnId(), TOS_REG);
|
| context()->Plug(rax);
|
| }
|
| @@ -3990,7 +3990,7 @@ void FullCodeGenerator::EmitUnaryOperation(UnaryOperation* expr,
|
| // accumulator register rax.
|
| VisitForAccumulatorValue(expr->expression());
|
| SetSourcePosition(expr->position());
|
| - CallIC(stub.GetCode(), RelocInfo::CODE_TARGET,
|
| + CallIC(stub.GetCode(isolate()), RelocInfo::CODE_TARGET,
|
| expr->UnaryOperationFeedbackId());
|
| context()->Plug(rax);
|
| }
|
| @@ -4108,7 +4108,9 @@ void FullCodeGenerator::VisitCountOperation(CountOperation* expr) {
|
| __ movq(rdx, rax);
|
| __ Move(rax, Smi::FromInt(1));
|
| BinaryOpStub stub(expr->binary_op(), NO_OVERWRITE);
|
| - CallIC(stub.GetCode(), RelocInfo::CODE_TARGET, expr->CountBinOpFeedbackId());
|
| + CallIC(stub.GetCode(isolate()),
|
| + RelocInfo::CODE_TARGET,
|
| + expr->CountBinOpFeedbackId());
|
| patch_site.EmitPatchInfo();
|
| __ bind(&done);
|
|
|
| @@ -4343,7 +4345,7 @@ void FullCodeGenerator::VisitCompareOperation(CompareOperation* expr) {
|
|
|
| // Record position and call the compare IC.
|
| SetSourcePosition(expr->position());
|
| - Handle<Code> ic = CompareIC::GetUninitialized(op);
|
| + Handle<Code> ic = CompareIC::GetUninitialized(isolate(), op);
|
| CallIC(ic, RelocInfo::CODE_TARGET, expr->CompareOperationFeedbackId());
|
| patch_site.EmitPatchInfo();
|
|
|
|
|