Index: src/mips/code-stubs-mips.cc |
diff --git a/src/mips/code-stubs-mips.cc b/src/mips/code-stubs-mips.cc |
index 816b9c87c3aca2e9aab808ccfb3886504431d642..3056d954a2f6c83f2ef8289a04f4b7b8a6ea8fbe 100644 |
--- a/src/mips/code-stubs-mips.cc |
+++ b/src/mips/code-stubs-mips.cc |
@@ -875,20 +875,10 @@ void ICCompareStub::GenerateGeneric(MacroAssembler* masm) { |
__ IncrementCounter(isolate()->counters()->string_compare_native(), 1, a2, |
a3); |
if (cc == eq) { |
- StringCompareStub::GenerateFlatAsciiStringEquals(masm, |
- lhs, |
- rhs, |
- a2, |
- a3, |
- t0); |
+ StringHelper::GenerateFlatAsciiStringEquals(masm, lhs, rhs, a2, a3, t0); |
} else { |
- StringCompareStub::GenerateCompareFlatAsciiStrings(masm, |
- lhs, |
- rhs, |
- a2, |
- a3, |
- t0, |
- t1); |
+ StringHelper::GenerateCompareFlatAsciiStrings(masm, lhs, rhs, a2, a3, t0, |
+ t1); |
} |
// Never falls through to here. |
@@ -943,7 +933,7 @@ void StoreBufferOverflowStub::Generate(MacroAssembler* masm) { |
// store the registers in any particular way, but we do have to store and |
// restore them. |
__ MultiPush(kJSCallerSaved | ra.bit()); |
- if (save_doubles_ == kSaveFPRegs) { |
+ if (save_doubles()) { |
__ MultiPushFPU(kCallerSavedFPU); |
} |
const int argument_count = 1; |
@@ -956,7 +946,7 @@ void StoreBufferOverflowStub::Generate(MacroAssembler* masm) { |
__ CallCFunction( |
ExternalReference::store_buffer_overflow_function(isolate()), |
argument_count); |
- if (save_doubles_ == kSaveFPRegs) { |
+ if (save_doubles()) { |
__ MultiPopFPU(kCallerSavedFPU); |
} |
@@ -3467,12 +3457,11 @@ void SubStringStub::Generate(MacroAssembler* masm) { |
} |
-void StringCompareStub::GenerateFlatAsciiStringEquals(MacroAssembler* masm, |
- Register left, |
- Register right, |
- Register scratch1, |
- Register scratch2, |
- Register scratch3) { |
+void StringHelper::GenerateFlatAsciiStringEquals(MacroAssembler* masm, |
+ Register left, Register right, |
+ Register scratch1, |
+ Register scratch2, |
+ Register scratch3) { |
Register length = scratch1; |
// Compare lengths. |
@@ -3507,13 +3496,9 @@ void StringCompareStub::GenerateFlatAsciiStringEquals(MacroAssembler* masm, |
} |
-void StringCompareStub::GenerateCompareFlatAsciiStrings(MacroAssembler* masm, |
- Register left, |
- Register right, |
- Register scratch1, |
- Register scratch2, |
- Register scratch3, |
- Register scratch4) { |
+void StringHelper::GenerateCompareFlatAsciiStrings( |
+ MacroAssembler* masm, Register left, Register right, Register scratch1, |
+ Register scratch2, Register scratch3, Register scratch4) { |
Label result_not_equal, compare_lengths; |
// Find minimum length and length difference. |
__ lw(scratch1, FieldMemOperand(left, String::kLengthOffset)); |
@@ -3552,14 +3537,9 @@ void StringCompareStub::GenerateCompareFlatAsciiStrings(MacroAssembler* masm, |
} |
-void StringCompareStub::GenerateAsciiCharsCompareLoop( |
- MacroAssembler* masm, |
- Register left, |
- Register right, |
- Register length, |
- Register scratch1, |
- Register scratch2, |
- Register scratch3, |
+void StringHelper::GenerateAsciiCharsCompareLoop( |
+ MacroAssembler* masm, Register left, Register right, Register length, |
+ Register scratch1, Register scratch2, Register scratch3, |
Label* chars_not_equal) { |
// Change index to run from -length to -1 by adding length to string |
// start. This means that loop ends when index reaches zero, which |
@@ -3613,7 +3593,7 @@ void StringCompareStub::Generate(MacroAssembler* masm) { |
// Compare flat ASCII strings natively. Remove arguments from stack first. |
__ IncrementCounter(counters->string_compare_native(), 1, a2, a3); |
__ Addu(sp, sp, Operand(2 * kPointerSize)); |
- GenerateCompareFlatAsciiStrings(masm, a1, a0, a2, a3, t0, t1); |
+ StringHelper::GenerateCompareFlatAsciiStrings(masm, a1, a0, a2, a3, t0, t1); |
__ bind(&runtime); |
__ TailCallRuntime(Runtime::kStringCompare, 2, 1); |
@@ -3913,11 +3893,11 @@ void ICCompareStub::GenerateStrings(MacroAssembler* masm) { |
// Compare flat ASCII strings. Returns when done. |
if (equality) { |
- StringCompareStub::GenerateFlatAsciiStringEquals( |
- masm, left, right, tmp1, tmp2, tmp3); |
+ StringHelper::GenerateFlatAsciiStringEquals(masm, left, right, tmp1, tmp2, |
+ tmp3); |
} else { |
- StringCompareStub::GenerateCompareFlatAsciiStrings( |
- masm, left, right, tmp1, tmp2, tmp3, tmp4); |
+ StringHelper::GenerateCompareFlatAsciiStrings(masm, left, right, tmp1, tmp2, |
+ tmp3, tmp4); |
} |
// Handle more complex cases in runtime. |