Index: src/x64/lithium-codegen-x64.cc |
diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc |
index 99d79fbb30a65b5b9312a774a0881fb33ef0b6ea..1472bcf6a9c175c567e04953c803d0ffb8da7f28 100644 |
--- a/src/x64/lithium-codegen-x64.cc |
+++ b/src/x64/lithium-codegen-x64.cc |
@@ -954,38 +954,38 @@ void LCodeGen::DoCallStub(LCallStub* instr) { |
switch (instr->hydrogen()->major_key()) { |
case CodeStub::RegExpConstructResult: { |
RegExpConstructResultStub stub; |
- CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
break; |
} |
case CodeStub::RegExpExec: { |
RegExpExecStub stub; |
- CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
break; |
} |
case CodeStub::SubString: { |
SubStringStub stub; |
- CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
break; |
} |
case CodeStub::NumberToString: { |
NumberToStringStub stub; |
- CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
break; |
} |
case CodeStub::StringAdd: { |
StringAddStub stub(NO_STRING_ADD_FLAGS); |
- CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
break; |
} |
case CodeStub::StringCompare: { |
StringCompareStub stub; |
- CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
break; |
} |
case CodeStub::TranscendentalCache: { |
TranscendentalCacheStub stub(instr->transcendental_type(), |
TranscendentalCacheStub::TAGGED); |
- CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
break; |
} |
default: |
@@ -1809,7 +1809,7 @@ void LCodeGen::DoArithmeticT(LArithmeticT* instr) { |
ASSERT(ToRegister(instr->result()).is(rax)); |
BinaryOpStub stub(instr->op(), NO_OVERWRITE); |
- CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
__ nop(); // Signals no inlined code. |
} |
@@ -2203,7 +2203,7 @@ void LCodeGen::DoStringCompareAndBranch(LStringCompareAndBranch* instr) { |
int true_block = chunk_->LookupDestination(instr->true_block_id()); |
int false_block = chunk_->LookupDestination(instr->false_block_id()); |
- Handle<Code> ic = CompareIC::GetUninitialized(op); |
+ Handle<Code> ic = CompareIC::GetUninitialized(isolate(), op); |
CallCode(ic, RelocInfo::CODE_TARGET, instr); |
Condition condition = TokenToCondition(op, false); |
@@ -2373,7 +2373,7 @@ void LCodeGen::DoInstanceOf(LInstanceOf* instr) { |
InstanceofStub stub(InstanceofStub::kNoFlags); |
__ push(ToRegister(instr->left())); |
__ push(ToRegister(instr->right())); |
- CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
Label true_value, done; |
__ testq(rax, rax); |
__ j(zero, &true_value, Label::kNear); |
@@ -2472,7 +2472,7 @@ void LCodeGen::DoDeferredInstanceOfKnownGlobal(LInstanceOfKnownGlobal* instr, |
// safepoint with two arguments because stub is going to |
// remove the third argument from the stack before jumping |
// to instanceof builtin on the slow path. |
- CallCodeGeneric(stub.GetCode(), |
+ CallCodeGeneric(stub.GetCode(isolate()), |
RelocInfo::CODE_TARGET, |
instr, |
RECORD_SAFEPOINT_WITH_REGISTERS, |
@@ -2507,7 +2507,7 @@ void LCodeGen::DoInstanceSize(LInstanceSize* instr) { |
void LCodeGen::DoCmpT(LCmpT* instr) { |
Token::Value op = instr->op(); |
- Handle<Code> ic = CompareIC::GetUninitialized(op); |
+ Handle<Code> ic = CompareIC::GetUninitialized(isolate(), op); |
CallCode(ic, RelocInfo::CODE_TARGET, instr); |
Condition condition = TokenToCondition(op, false); |
@@ -3741,7 +3741,7 @@ void LCodeGen::DoMathLog(LUnaryMathOperation* instr) { |
ASSERT(ToDoubleRegister(instr->result()).is(xmm1)); |
TranscendentalCacheStub stub(TranscendentalCache::LOG, |
TranscendentalCacheStub::UNTAGGED); |
- CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
} |
@@ -3749,7 +3749,7 @@ void LCodeGen::DoMathTan(LUnaryMathOperation* instr) { |
ASSERT(ToDoubleRegister(instr->result()).is(xmm1)); |
TranscendentalCacheStub stub(TranscendentalCache::TAN, |
TranscendentalCacheStub::UNTAGGED); |
- CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
} |
@@ -3757,7 +3757,7 @@ void LCodeGen::DoMathCos(LUnaryMathOperation* instr) { |
ASSERT(ToDoubleRegister(instr->result()).is(xmm1)); |
TranscendentalCacheStub stub(TranscendentalCache::COS, |
TranscendentalCacheStub::UNTAGGED); |
- CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
} |
@@ -3765,7 +3765,7 @@ void LCodeGen::DoMathSin(LUnaryMathOperation* instr) { |
ASSERT(ToDoubleRegister(instr->result()).is(xmm1)); |
TranscendentalCacheStub stub(TranscendentalCache::SIN, |
TranscendentalCacheStub::UNTAGGED); |
- CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
} |
@@ -3857,7 +3857,7 @@ void LCodeGen::DoCallFunction(LCallFunction* instr) { |
int arity = instr->arity(); |
CallFunctionStub stub(arity, NO_CALL_FUNCTION_FLAGS); |
- CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
__ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); |
} |
@@ -3890,7 +3890,7 @@ void LCodeGen::DoCallNew(LCallNew* instr) { |
CallConstructStub stub(NO_CALL_FUNCTION_FLAGS); |
__ Set(rax, instr->arity()); |
- CallCode(stub.GetCode(), RelocInfo::CONSTRUCT_CALL, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CONSTRUCT_CALL, instr); |
} |
@@ -4258,7 +4258,7 @@ void LCodeGen::DoStringAdd(LStringAdd* instr) { |
EmitPushTaggedOperand(instr->left()); |
EmitPushTaggedOperand(instr->right()); |
StringAddStub stub(NO_STRING_CHECK_IN_STUB); |
- CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
} |
@@ -5133,7 +5133,7 @@ void LCodeGen::DoArrayLiteral(LArrayLiteral* instr) { |
FastCloneShallowArrayStub::Mode mode = |
FastCloneShallowArrayStub::COPY_ON_WRITE_ELEMENTS; |
FastCloneShallowArrayStub stub(mode, DONT_TRACK_ALLOCATION_SITE, length); |
- CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
} else if (instr->hydrogen()->depth() > 1) { |
CallRuntime(Runtime::kCreateArrayLiteral, 3, instr); |
} else if (length > FastCloneShallowArrayStub::kMaximumClonedLength) { |
@@ -5144,7 +5144,7 @@ void LCodeGen::DoArrayLiteral(LArrayLiteral* instr) { |
? FastCloneShallowArrayStub::CLONE_DOUBLE_ELEMENTS |
: FastCloneShallowArrayStub::CLONE_ELEMENTS; |
FastCloneShallowArrayStub stub(mode, allocation_site_mode, length); |
- CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
} |
} |
@@ -5340,7 +5340,7 @@ void LCodeGen::DoObjectLiteral(LObjectLiteral* instr) { |
__ Move(rcx, constant_properties); |
__ Move(rdx, Smi::FromInt(flags)); |
FastCloneShallowObjectStub stub(properties_count); |
- CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
} |
} |
@@ -5410,7 +5410,7 @@ void LCodeGen::DoFunctionLiteral(LFunctionLiteral* instr) { |
if (!pretenure && shared_info->num_literals() == 0) { |
FastNewClosureStub stub(shared_info->language_mode()); |
__ Push(shared_info); |
- CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
} else { |
__ push(rsi); |
__ Push(shared_info); |
@@ -5656,7 +5656,7 @@ void LCodeGen::DoStackCheck(LStackCheck* instr) { |
__ CompareRoot(rsp, Heap::kStackLimitRootIndex); |
__ j(above_equal, &done, Label::kNear); |
StackCheckStub stub; |
- CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
EnsureSpaceForLazyDeopt(Deoptimizer::patch_size()); |
last_lazy_deopt_pc_ = masm()->pc_offset(); |
__ bind(&done); |