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