| 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);
|
| }
|
|
|
|
|