Index: src/ia32/lithium-codegen-ia32.cc |
diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc |
index e20307bb85f19cec7fe92b5adbc40824a7a04313..f2d20ac44c701d1b94f4fcd598804e3b43415d9a 100644 |
--- a/src/ia32/lithium-codegen-ia32.cc |
+++ b/src/ia32/lithium-codegen-ia32.cc |
@@ -1088,38 +1088,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: |
@@ -1970,7 +1970,7 @@ void LCodeGen::DoArithmeticT(LArithmeticT* instr) { |
ASSERT(ToRegister(instr->result()).is(eax)); |
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. |
} |
@@ -2372,7 +2372,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 = ComputeCompareCondition(op); |
@@ -2540,7 +2540,7 @@ void LCodeGen::DoInstanceOf(LInstanceOf* instr) { |
// Object and function are in fixed registers defined by the stub. |
ASSERT(ToRegister(instr->context()).is(esi)); |
InstanceofStub stub(InstanceofStub::kArgsInRegisters); |
- CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
Label true_value, done; |
__ test(eax, Operand(eax)); |
@@ -2641,7 +2641,7 @@ void LCodeGen::DoDeferredInstanceOfKnownGlobal(LInstanceOfKnownGlobal* instr, |
int delta = masm_->SizeOfCodeGeneratedSince(map_check) + kAdditionalDelta; |
__ mov(temp, Immediate(delta)); |
__ StoreToSafepointRegisterSlot(temp, temp); |
- CallCodeGeneric(stub.GetCode(), |
+ CallCodeGeneric(stub.GetCode(isolate()), |
RelocInfo::CODE_TARGET, |
instr, |
RECORD_SAFEPOINT_WITH_REGISTERS_AND_NO_ARGUMENTS); |
@@ -2666,7 +2666,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 = ComputeCompareCondition(op); |
@@ -3966,7 +3966,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); |
} |
@@ -3974,7 +3974,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); |
} |
@@ -3982,7 +3982,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); |
} |
@@ -4073,7 +4073,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); |
} |
@@ -4107,7 +4107,7 @@ void LCodeGen::DoCallNew(LCallNew* instr) { |
CallConstructStub stub(NO_CALL_FUNCTION_FLAGS); |
__ Set(eax, Immediate(instr->arity())); |
- CallCode(stub.GetCode(), RelocInfo::CONSTRUCT_CALL, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CONSTRUCT_CALL, instr); |
} |
@@ -4534,7 +4534,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); |
} |
@@ -5544,7 +5544,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) { |
@@ -5555,7 +5555,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); |
} |
} |
@@ -5767,7 +5767,7 @@ void LCodeGen::DoObjectLiteral(LObjectLiteral* instr) { |
__ mov(ecx, Immediate(constant_properties)); |
__ mov(edx, Immediate(Smi::FromInt(flags))); |
FastCloneShallowObjectStub stub(properties_count); |
- CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
} |
} |
@@ -5840,7 +5840,7 @@ void LCodeGen::DoFunctionLiteral(LFunctionLiteral* instr) { |
if (!pretenure && shared_info->num_literals() == 0) { |
FastNewClosureStub stub(shared_info->language_mode()); |
__ push(Immediate(shared_info)); |
- CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
} else { |
__ push(esi); |
__ push(Immediate(shared_info)); |
@@ -6061,7 +6061,7 @@ void LCodeGen::DoStackCheck(LStackCheck* instr) { |
ASSERT(instr->context()->IsRegister()); |
ASSERT(ToRegister(instr->context()).is(esi)); |
StackCheckStub stub; |
- CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
+ CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
EnsureSpaceForLazyDeopt(); |
__ bind(&done); |
RegisterEnvironmentForDeoptimization(env, Safepoint::kLazyDeopt); |