Index: src/arm/code-stubs-arm.cc |
diff --git a/src/arm/code-stubs-arm.cc b/src/arm/code-stubs-arm.cc |
index e7b563cffbeefb4525c40d8fa17bd9e3444cb111..8cdcfbb2d0b877f563c172e9fb2b9206803ff4d9 100644 |
--- a/src/arm/code-stubs-arm.cc |
+++ b/src/arm/code-stubs-arm.cc |
@@ -1458,11 +1458,12 @@ void NumberToStringStub::GenerateLookupNumberStringCache(MacroAssembler* masm, |
// number string cache for smis is just the smi value, and the hash for |
// doubles is the xor of the upper and lower words. See |
// Heap::GetNumberStringCache. |
+ Isolate* isolate = masm->isolate(); |
Label is_smi; |
Label load_result_from_cache; |
if (!object_is_smi) { |
__ JumpIfSmi(object, &is_smi); |
- if (Isolate::Current()->cpu_features()->IsSupported(VFP3)) { |
+ if (isolate->cpu_features()->IsSupported(VFP3)) { |
CpuFeatures::Scope scope(VFP3); |
__ CheckMap(object, |
scratch1, |
@@ -1519,7 +1520,7 @@ void NumberToStringStub::GenerateLookupNumberStringCache(MacroAssembler* masm, |
__ bind(&load_result_from_cache); |
__ ldr(result, |
FieldMemOperand(scratch, FixedArray::kHeaderSize + kPointerSize)); |
- __ IncrementCounter(COUNTERS->number_to_string_native(), |
+ __ IncrementCounter(isolate->counters()->number_to_string_native(), |
1, |
scratch1, |
scratch2); |
@@ -1595,7 +1596,8 @@ void CompareStub::Generate(MacroAssembler* masm) { |
__ bind(&both_loaded_as_doubles); |
// The arguments have been converted to doubles and stored in d6 and d7, if |
// VFP3 is supported, or in r0, r1, r2, and r3. |
- if (Isolate::Current()->cpu_features()->IsSupported(VFP3)) { |
+ Isolate* isolate = masm->isolate(); |
+ if (isolate->cpu_features()->IsSupported(VFP3)) { |
__ bind(&lhs_not_nan); |
CpuFeatures::Scope scope(VFP3); |
Label no_nan; |
@@ -1665,7 +1667,7 @@ void CompareStub::Generate(MacroAssembler* masm) { |
__ JumpIfNonSmisNotBothSequentialAsciiStrings(lhs_, rhs_, r2, r3, &slow); |
- __ IncrementCounter(COUNTERS->string_compare_native(), 1, r2, r3); |
+ __ IncrementCounter(isolate->counters()->string_compare_native(), 1, r2, r3); |
StringCompareStub::GenerateCompareFlatAsciiStrings(masm, |
lhs_, |
rhs_, |
@@ -5089,7 +5091,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) { |
// subject: Subject string |
// regexp_data: RegExp data (FixedArray) |
// All checks done. Now push arguments for native regexp code. |
- __ IncrementCounter(COUNTERS->regexp_entry_native(), 1, r0, r2); |
+ __ IncrementCounter(isolate->counters()->regexp_entry_native(), 1, r0, r2); |
// Isolates: note we add an additional parameter here (isolate pointer). |
static const int kRegExpExecuteArguments = 8; |
@@ -6105,7 +6107,6 @@ void SubStringStub::Generate(MacroAssembler* masm) { |
static const int kFromOffset = 1 * kPointerSize; |
static const int kStringOffset = 2 * kPointerSize; |
- |
// Check bounds and smi-ness. |
Register to = r6; |
Register from = r7; |
@@ -6206,7 +6207,8 @@ void SubStringStub::Generate(MacroAssembler* masm) { |
Label make_two_character_string; |
StringHelper::GenerateTwoCharacterSymbolTableProbe( |
masm, r3, r4, r1, r5, r6, r7, r9, &make_two_character_string); |
- __ IncrementCounter(COUNTERS->sub_string_native(), 1, r3, r4); |
+ Counters* counters = masm->isolate()->counters(); |
+ __ IncrementCounter(counters->sub_string_native(), 1, r3, r4); |
__ add(sp, sp, Operand(3 * kPointerSize)); |
__ Ret(); |
@@ -6215,7 +6217,7 @@ void SubStringStub::Generate(MacroAssembler* masm) { |
__ bind(&make_two_character_string); |
__ AllocateAsciiString(r0, r2, r4, r5, r9, &runtime); |
__ strh(r3, FieldMemOperand(r0, SeqAsciiString::kHeaderSize)); |
- __ IncrementCounter(COUNTERS->sub_string_native(), 1, r3, r4); |
+ __ IncrementCounter(counters->sub_string_native(), 1, r3, r4); |
__ add(sp, sp, Operand(3 * kPointerSize)); |
__ Ret(); |
@@ -6241,7 +6243,7 @@ void SubStringStub::Generate(MacroAssembler* masm) { |
STATIC_ASSERT((SeqAsciiString::kHeaderSize & kObjectAlignmentMask) == 0); |
StringHelper::GenerateCopyCharactersLong(masm, r1, r5, r2, r3, r4, r6, r7, r9, |
COPY_ASCII | DEST_ALWAYS_ALIGNED); |
- __ IncrementCounter(COUNTERS->sub_string_native(), 1, r3, r4); |
+ __ IncrementCounter(counters->sub_string_native(), 1, r3, r4); |
__ add(sp, sp, Operand(3 * kPointerSize)); |
__ Ret(); |
@@ -6273,7 +6275,7 @@ void SubStringStub::Generate(MacroAssembler* masm) { |
STATIC_ASSERT((SeqTwoByteString::kHeaderSize & kObjectAlignmentMask) == 0); |
StringHelper::GenerateCopyCharactersLong( |
masm, r1, r5, r2, r3, r4, r6, r7, r9, DEST_ALWAYS_ALIGNED); |
- __ IncrementCounter(COUNTERS->sub_string_native(), 1, r3, r4); |
+ __ IncrementCounter(counters->sub_string_native(), 1, r3, r4); |
__ add(sp, sp, Operand(3 * kPointerSize)); |
__ Ret(); |
@@ -6345,6 +6347,8 @@ void StringCompareStub::GenerateCompareFlatAsciiStrings(MacroAssembler* masm, |
void StringCompareStub::Generate(MacroAssembler* masm) { |
Label runtime; |
+ Counters* counters = masm->isolate()->counters(); |
+ |
// Stack frame on entry. |
// sp[0]: right string |
// sp[4]: left string |
@@ -6356,7 +6360,7 @@ void StringCompareStub::Generate(MacroAssembler* masm) { |
STATIC_ASSERT(EQUAL == 0); |
STATIC_ASSERT(kSmiTag == 0); |
__ mov(r0, Operand(Smi::FromInt(EQUAL))); |
- __ IncrementCounter(COUNTERS->string_compare_native(), 1, r1, r2); |
+ __ IncrementCounter(counters->string_compare_native(), 1, r1, r2); |
__ add(sp, sp, Operand(2 * kPointerSize)); |
__ Ret(); |
@@ -6366,7 +6370,7 @@ void StringCompareStub::Generate(MacroAssembler* masm) { |
__ JumpIfNotBothSequentialAsciiStrings(r1, r0, r2, r3, &runtime); |
// Compare flat ASCII strings natively. Remove arguments from stack first. |
- __ IncrementCounter(COUNTERS->string_compare_native(), 1, r2, r3); |
+ __ IncrementCounter(counters->string_compare_native(), 1, r2, r3); |
__ add(sp, sp, Operand(2 * kPointerSize)); |
GenerateCompareFlatAsciiStrings(masm, r1, r0, r2, r3, r4, r5); |
@@ -6381,6 +6385,8 @@ void StringAddStub::Generate(MacroAssembler* masm) { |
Label string_add_runtime, call_builtin; |
Builtins::JavaScript builtin_id = Builtins::ADD; |
+ Counters* counters = masm->isolate()->counters(); |
+ |
// Stack on entry: |
// sp[0]: second argument (right). |
// sp[4]: first argument (left). |
@@ -6436,7 +6442,7 @@ void StringAddStub::Generate(MacroAssembler* masm) { |
__ cmp(r3, Operand(Smi::FromInt(0)), ne); |
__ b(ne, &strings_not_empty); // If either string was empty, return r0. |
- __ IncrementCounter(COUNTERS->string_add_native(), 1, r2, r3); |
+ __ IncrementCounter(counters->string_add_native(), 1, r2, r3); |
__ add(sp, sp, Operand(2 * kPointerSize)); |
__ Ret(); |
@@ -6481,7 +6487,7 @@ void StringAddStub::Generate(MacroAssembler* masm) { |
Label make_two_character_string; |
StringHelper::GenerateTwoCharacterSymbolTableProbe( |
masm, r2, r3, r6, r7, r4, r5, r9, &make_two_character_string); |
- __ IncrementCounter(COUNTERS->string_add_native(), 1, r2, r3); |
+ __ IncrementCounter(counters->string_add_native(), 1, r2, r3); |
__ add(sp, sp, Operand(2 * kPointerSize)); |
__ Ret(); |
@@ -6494,7 +6500,7 @@ void StringAddStub::Generate(MacroAssembler* masm) { |
__ mov(r6, Operand(2)); |
__ AllocateAsciiString(r0, r6, r4, r5, r9, &string_add_runtime); |
__ strh(r2, FieldMemOperand(r0, SeqAsciiString::kHeaderSize)); |
- __ IncrementCounter(COUNTERS->string_add_native(), 1, r2, r3); |
+ __ IncrementCounter(counters->string_add_native(), 1, r2, r3); |
__ add(sp, sp, Operand(2 * kPointerSize)); |
__ Ret(); |
@@ -6531,7 +6537,7 @@ void StringAddStub::Generate(MacroAssembler* masm) { |
__ str(r0, FieldMemOperand(r7, ConsString::kFirstOffset)); |
__ str(r1, FieldMemOperand(r7, ConsString::kSecondOffset)); |
__ mov(r0, Operand(r7)); |
- __ IncrementCounter(COUNTERS->string_add_native(), 1, r2, r3); |
+ __ IncrementCounter(counters->string_add_native(), 1, r2, r3); |
__ add(sp, sp, Operand(2 * kPointerSize)); |
__ Ret(); |
@@ -6613,7 +6619,7 @@ void StringAddStub::Generate(MacroAssembler* masm) { |
// r7: result string. |
StringHelper::GenerateCopyCharacters(masm, r6, r1, r3, r4, true); |
__ mov(r0, Operand(r7)); |
- __ IncrementCounter(COUNTERS->string_add_native(), 1, r2, r3); |
+ __ IncrementCounter(counters->string_add_native(), 1, r2, r3); |
__ add(sp, sp, Operand(2 * kPointerSize)); |
__ Ret(); |
@@ -6654,7 +6660,7 @@ void StringAddStub::Generate(MacroAssembler* masm) { |
StringHelper::GenerateCopyCharacters(masm, r6, r1, r3, r4, false); |
__ mov(r0, Operand(r7)); |
- __ IncrementCounter(COUNTERS->string_add_native(), 1, r2, r3); |
+ __ IncrementCounter(counters->string_add_native(), 1, r2, r3); |
__ add(sp, sp, Operand(2 * kPointerSize)); |
__ Ret(); |