Index: src/arm/ic-arm.cc |
=================================================================== |
--- src/arm/ic-arm.cc (revision 7267) |
+++ src/arm/ic-arm.cc (working copy) |
@@ -552,7 +552,8 @@ |
Code::kNoExtraICState, |
NORMAL, |
argc); |
- StubCache::GenerateProbe(masm, flags, r1, r2, r3, r4, r5); |
+ Isolate::Current()->stub_cache()->GenerateProbe( |
+ masm, flags, r1, r2, r3, r4, r5); |
// If the stub cache probing failed, the receiver might be a value. |
// For value objects, we use the map of the prototype objects for |
@@ -591,7 +592,8 @@ |
// Probe the stub cache for the value object. |
__ bind(&probe); |
- StubCache::GenerateProbe(masm, flags, r1, r2, r3, r4, r5); |
+ Isolate::Current()->stub_cache()->GenerateProbe( |
+ masm, flags, r1, r2, r3, r4, r5); |
__ bind(&miss); |
} |
@@ -646,9 +648,9 @@ |
// ----------------------------------- |
if (id == IC::kCallIC_Miss) { |
- __ IncrementCounter(&Counters::call_miss, 1, r3, r4); |
+ __ IncrementCounter(COUNTERS->call_miss(), 1, r3, r4); |
} else { |
- __ IncrementCounter(&Counters::keyed_call_miss, 1, r3, r4); |
+ __ IncrementCounter(COUNTERS->keyed_call_miss(), 1, r3, r4); |
} |
// Get the receiver of the function from the stack. |
@@ -763,7 +765,7 @@ |
GenerateFastArrayLoad( |
masm, r1, r2, r4, r3, r0, r1, &check_number_dictionary, &slow_load); |
- __ IncrementCounter(&Counters::keyed_call_generic_smi_fast, 1, r0, r3); |
+ __ IncrementCounter(COUNTERS->keyed_call_generic_smi_fast(), 1, r0, r3); |
__ bind(&do_call); |
// receiver in r1 is not used after this point. |
@@ -782,13 +784,13 @@ |
__ mov(r0, Operand(r2, ASR, kSmiTagSize)); |
// r0: untagged index |
GenerateNumberDictionaryLoad(masm, &slow_load, r4, r2, r1, r0, r3, r5); |
- __ IncrementCounter(&Counters::keyed_call_generic_smi_dict, 1, r0, r3); |
+ __ IncrementCounter(COUNTERS->keyed_call_generic_smi_dict(), 1, r0, r3); |
__ jmp(&do_call); |
__ bind(&slow_load); |
// This branch is taken when calling KeyedCallIC_Miss is neither required |
// nor beneficial. |
- __ IncrementCounter(&Counters::keyed_call_generic_slow_load, 1, r0, r3); |
+ __ IncrementCounter(COUNTERS->keyed_call_generic_slow_load(), 1, r0, r3); |
__ EnterInternalFrame(); |
__ push(r2); // save the key |
__ Push(r1, r2); // pass the receiver and the key |
@@ -815,11 +817,11 @@ |
__ b(ne, &lookup_monomorphic_cache); |
GenerateDictionaryLoad(masm, &slow_load, r0, r2, r1, r3, r4); |
- __ IncrementCounter(&Counters::keyed_call_generic_lookup_dict, 1, r0, r3); |
+ __ IncrementCounter(COUNTERS->keyed_call_generic_lookup_dict(), 1, r0, r3); |
__ jmp(&do_call); |
__ bind(&lookup_monomorphic_cache); |
- __ IncrementCounter(&Counters::keyed_call_generic_lookup_cache, 1, r0, r3); |
+ __ IncrementCounter(COUNTERS->keyed_call_generic_lookup_cache(), 1, r0, r3); |
GenerateMonomorphicCacheProbe(masm, argc, Code::KEYED_CALL_IC); |
// Fall through on miss. |
@@ -830,7 +832,7 @@ |
// - the value loaded is not a function, |
// - there is hope that the runtime will create a monomorphic call stub |
// that will get fetched next time. |
- __ IncrementCounter(&Counters::keyed_call_generic_slow, 1, r0, r3); |
+ __ IncrementCounter(COUNTERS->keyed_call_generic_slow(), 1, r0, r3); |
GenerateMiss(masm, argc); |
__ bind(&index_string); |
@@ -873,7 +875,8 @@ |
Code::Flags flags = Code::ComputeFlags(Code::LOAD_IC, |
NOT_IN_LOOP, |
MONOMORPHIC); |
- StubCache::GenerateProbe(masm, flags, r0, r2, r3, r4, r5); |
+ Isolate::Current()->stub_cache()->GenerateProbe( |
+ masm, flags, r0, r2, r3, r4, r5); |
// Cache miss: Jump to runtime. |
GenerateMiss(masm); |
@@ -909,7 +912,7 @@ |
// -- sp[0] : receiver |
// ----------------------------------- |
- __ IncrementCounter(&Counters::load_miss, 1, r3, r4); |
+ __ IncrementCounter(COUNTERS->load_miss(), 1, r3, r4); |
__ mov(r3, r0); |
__ Push(r3, r2); |
@@ -1057,7 +1060,7 @@ |
// Update the offsets if initializing the inlined store. No reason |
// to update the offsets when clearing the inlined version because |
// it will bail out in the map check. |
- if (map != Heap::null_value()) { |
+ if (map != HEAP->null_value()) { |
// Patch the offset in the actual store instruction. |
Address str_property_instr_address = |
ldr_map_instr_address + 3 * Assembler::kInstrSize; |
@@ -1141,7 +1144,7 @@ |
// -- r1 : receiver |
// ----------------------------------- |
- __ IncrementCounter(&Counters::keyed_load_miss, 1, r3, r4); |
+ __ IncrementCounter(COUNTERS->keyed_load_miss(), 1, r3, r4); |
__ Push(r1, r0); |
@@ -1192,7 +1195,7 @@ |
GenerateFastArrayLoad( |
masm, receiver, key, r4, r3, r2, r0, NULL, &slow); |
- __ IncrementCounter(&Counters::keyed_load_generic_smi, 1, r2, r3); |
+ __ IncrementCounter(COUNTERS->keyed_load_generic_smi(), 1, r2, r3); |
__ Ret(); |
__ bind(&check_number_dictionary); |
@@ -1212,7 +1215,7 @@ |
// Slow case, key and receiver still in r0 and r1. |
__ bind(&slow); |
- __ IncrementCounter(&Counters::keyed_load_generic_slow, 1, r2, r3); |
+ __ IncrementCounter(COUNTERS->keyed_load_generic_slow(), 1, r2, r3); |
GenerateRuntimeGetProperty(masm); |
__ bind(&check_string); |
@@ -1267,7 +1270,7 @@ |
__ add(r6, r6, r5); // Index from start of object. |
__ sub(r1, r1, Operand(kHeapObjectTag)); // Remove the heap tag. |
__ ldr(r0, MemOperand(r1, r6, LSL, kPointerSizeLog2)); |
- __ IncrementCounter(&Counters::keyed_load_generic_lookup_cache, 1, r2, r3); |
+ __ IncrementCounter(COUNTERS->keyed_load_generic_lookup_cache(), 1, r2, r3); |
__ Ret(); |
// Load property array property. |
@@ -1275,7 +1278,7 @@ |
__ ldr(r1, FieldMemOperand(r1, JSObject::kPropertiesOffset)); |
__ add(r1, r1, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); |
__ ldr(r0, MemOperand(r1, r5, LSL, kPointerSizeLog2)); |
- __ IncrementCounter(&Counters::keyed_load_generic_lookup_cache, 1, r2, r3); |
+ __ IncrementCounter(COUNTERS->keyed_load_generic_lookup_cache(), 1, r2, r3); |
__ Ret(); |
// Do a quick inline probe of the receiver's dictionary, if it |
@@ -1289,7 +1292,7 @@ |
GenerateGlobalInstanceTypeCheck(masm, r2, &slow); |
// Load the property to r0. |
GenerateDictionaryLoad(masm, &slow, r3, r0, r0, r2, r4); |
- __ IncrementCounter(&Counters::keyed_load_generic_symbol, 1, r2, r3); |
+ __ IncrementCounter(COUNTERS->keyed_load_generic_symbol(), 1, r2, r3); |
__ Ret(); |
__ bind(&index_string); |
@@ -1527,8 +1530,10 @@ |
NOT_IN_LOOP, |
MONOMORPHIC, |
strict_mode); |
- StubCache::GenerateProbe(masm, flags, r1, r2, r3, r4, r5); |
+ Isolate::Current()->stub_cache()->GenerateProbe( |
+ masm, flags, r1, r2, r3, r4, r5); |
+ |
// Cache miss: Jump to runtime. |
GenerateMiss(masm); |
} |
@@ -1611,11 +1616,11 @@ |
GenerateStringDictionaryReceiverCheck(masm, r1, r3, r4, r5, &miss); |
GenerateDictionaryStore(masm, &miss, r3, r2, r0, r4, r5); |
- __ IncrementCounter(&Counters::store_normal_hit, 1, r4, r5); |
+ __ IncrementCounter(COUNTERS->store_normal_hit(), 1, r4, r5); |
__ Ret(); |
__ bind(&miss); |
- __ IncrementCounter(&Counters::store_normal_miss, 1, r4, r5); |
+ __ IncrementCounter(COUNTERS->store_normal_miss(), 1, r4, r5); |
GenerateMiss(masm); |
} |