Index: src/ia32/ic-ia32.cc |
diff --git a/src/ia32/ic-ia32.cc b/src/ia32/ic-ia32.cc |
index ae8ed6a638bd0c74cf5f4b6b8f5a550113c8a572..f2558bfc8768589506cde6f615a49cdb5e8592fa 100644 |
--- a/src/ia32/ic-ia32.cc |
+++ b/src/ia32/ic-ia32.cc |
@@ -621,8 +621,8 @@ void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) { |
// Load the key (consisting of map and symbol) from the cache and |
// check for match. |
- ExternalReference cache_keys |
- = ExternalReference::keyed_lookup_cache_keys(); |
+ ExternalReference cache_keys = |
+ ExternalReference::keyed_lookup_cache_keys(masm->isolate()); |
__ mov(edi, ecx); |
__ shl(edi, kPointerSizeLog2 + 1); |
__ cmp(ebx, Operand::StaticArray(edi, times_1, cache_keys)); |
@@ -636,8 +636,8 @@ void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) { |
// ebx : receiver's map |
// eax : key |
// ecx : lookup cache index |
- ExternalReference cache_field_offsets |
- = ExternalReference::keyed_lookup_cache_field_offsets(); |
+ ExternalReference cache_field_offsets = |
+ ExternalReference::keyed_lookup_cache_field_offsets(masm->isolate()); |
__ mov(edi, |
Operand::StaticArray(ecx, times_pointer_size, cache_field_offsets)); |
__ movzx_b(ecx, FieldOperand(ebx, Map::kInObjectPropertiesOffset)); |
@@ -745,8 +745,9 @@ void KeyedLoadIC::GenerateIndexedInterceptor(MacroAssembler* masm) { |
__ push(ecx); // return address |
// Perform tail call to the entry. |
- ExternalReference ref = ExternalReference( |
- IC_Utility(kKeyedLoadPropertyWithInterceptor)); |
+ ExternalReference ref = |
+ ExternalReference(IC_Utility(kKeyedLoadPropertyWithInterceptor), |
+ masm->isolate()); |
__ TailCallExternalReference(ref, 2, 1); |
__ bind(&slow); |
@@ -985,7 +986,7 @@ static void GenerateCallMiss(MacroAssembler* masm, |
// Call the entry. |
CEntryStub stub(1); |
__ mov(eax, Immediate(2)); |
- __ mov(ebx, Immediate(ExternalReference(IC_Utility(id)))); |
+ __ mov(ebx, Immediate(ExternalReference(IC_Utility(id), masm->isolate()))); |
__ CallStub(&stub); |
// Move result to edi and exit the internal frame. |
@@ -1258,7 +1259,8 @@ void LoadIC::GenerateMiss(MacroAssembler* masm) { |
__ push(ebx); // return address |
// Perform tail call to the entry. |
- ExternalReference ref = ExternalReference(IC_Utility(kLoadIC_Miss)); |
+ ExternalReference ref = |
+ ExternalReference(IC_Utility(kLoadIC_Miss), masm->isolate()); |
__ TailCallExternalReference(ref, 2, 1); |
} |
@@ -1444,7 +1446,8 @@ void KeyedLoadIC::GenerateMiss(MacroAssembler* masm) { |
__ push(ebx); // return address |
// Perform tail call to the entry. |
- ExternalReference ref = ExternalReference(IC_Utility(kKeyedLoadIC_Miss)); |
+ ExternalReference ref = |
+ ExternalReference(IC_Utility(kKeyedLoadIC_Miss), masm->isolate()); |
__ TailCallExternalReference(ref, 2, 1); |
} |
@@ -1502,7 +1505,8 @@ void StoreIC::GenerateMiss(MacroAssembler* masm) { |
__ push(ebx); |
// Perform tail call to the entry. |
- ExternalReference ref = ExternalReference(IC_Utility(kStoreIC_Miss)); |
+ ExternalReference ref = |
+ ExternalReference(IC_Utility(kStoreIC_Miss), masm->isolate()); |
__ TailCallExternalReference(ref, 3, 1); |
} |
@@ -1557,7 +1561,8 @@ void StoreIC::GenerateArrayLength(MacroAssembler* masm) { |
__ push(value); |
__ push(scratch); // return address |
- ExternalReference ref = ExternalReference(IC_Utility(kStoreIC_ArrayLength)); |
+ ExternalReference ref = |
+ ExternalReference(IC_Utility(kStoreIC_ArrayLength), masm->isolate()); |
__ TailCallExternalReference(ref, 2, 1); |
__ bind(&miss); |
@@ -1654,7 +1659,8 @@ void KeyedStoreIC::GenerateMiss(MacroAssembler* masm) { |
__ push(ebx); |
// Do tail-call to runtime routine. |
- ExternalReference ref = ExternalReference(IC_Utility(kKeyedStoreIC_Miss)); |
+ ExternalReference ref = |
+ ExternalReference(IC_Utility(kKeyedStoreIC_Miss), masm->isolate()); |
__ TailCallExternalReference(ref, 3, 1); |
} |