Index: src/ia32/code-stubs-ia32.cc |
diff --git a/src/ia32/code-stubs-ia32.cc b/src/ia32/code-stubs-ia32.cc |
index 18dc9e1dddb7815cf0ca12a87453ff7ae4fb48de..72414152d708b2857db43732d4134268acdec2e8 100644 |
--- a/src/ia32/code-stubs-ia32.cc |
+++ b/src/ia32/code-stubs-ia32.cc |
@@ -143,7 +143,7 @@ void StoreBufferOverflowStub::Generate(MacroAssembler* masm) { |
// store the registers in any particular way, but we do have to store and |
// restore them. |
__ pushad(); |
- if (save_doubles_ == kSaveFPRegs) { |
+ if (save_doubles()) { |
__ sub(esp, Immediate(kDoubleSize * XMMRegister::kMaxNumRegisters)); |
for (int i = 0; i < XMMRegister::kMaxNumRegisters; i++) { |
XMMRegister reg = XMMRegister::from_code(i); |
@@ -159,7 +159,7 @@ void StoreBufferOverflowStub::Generate(MacroAssembler* masm) { |
__ CallCFunction( |
ExternalReference::store_buffer_overflow_function(isolate()), |
argument_count); |
- if (save_doubles_ == kSaveFPRegs) { |
+ if (save_doubles()) { |
for (int i = 0; i < XMMRegister::kMaxNumRegisters; i++) { |
XMMRegister reg = XMMRegister::from_code(i); |
__ movsd(reg, Operand(esp, i * kDoubleSize)); |
@@ -1753,18 +1753,10 @@ void ICCompareStub::GenerateGeneric(MacroAssembler* masm) { |
// Inline comparison of ASCII strings. |
if (cc == equal) { |
- StringCompareStub::GenerateFlatAsciiStringEquals(masm, |
- edx, |
- eax, |
- ecx, |
- ebx); |
+ StringHelper::GenerateFlatAsciiStringEquals(masm, edx, eax, ecx, ebx); |
} else { |
- StringCompareStub::GenerateCompareFlatAsciiStrings(masm, |
- edx, |
- eax, |
- ecx, |
- ebx, |
- edi); |
+ StringHelper::GenerateCompareFlatAsciiStrings(masm, edx, eax, ecx, ebx, |
+ edi); |
} |
#ifdef DEBUG |
__ Abort(kUnexpectedFallThroughFromStringComparison); |
@@ -3195,11 +3187,10 @@ void SubStringStub::Generate(MacroAssembler* masm) { |
} |
-void StringCompareStub::GenerateFlatAsciiStringEquals(MacroAssembler* masm, |
- Register left, |
- Register right, |
- Register scratch1, |
- Register scratch2) { |
+void StringHelper::GenerateFlatAsciiStringEquals(MacroAssembler* masm, |
+ Register left, Register right, |
+ Register scratch1, |
+ Register scratch2) { |
Register length = scratch1; |
// Compare lengths. |
@@ -3231,12 +3222,9 @@ void StringCompareStub::GenerateFlatAsciiStringEquals(MacroAssembler* masm, |
} |
-void StringCompareStub::GenerateCompareFlatAsciiStrings(MacroAssembler* masm, |
- Register left, |
- Register right, |
- Register scratch1, |
- Register scratch2, |
- Register scratch3) { |
+void StringHelper::GenerateCompareFlatAsciiStrings( |
+ MacroAssembler* masm, Register left, Register right, Register scratch1, |
+ Register scratch2, Register scratch3) { |
Counters* counters = masm->isolate()->counters(); |
__ IncrementCounter(counters->string_compare_native(), 1); |
@@ -3297,13 +3285,9 @@ void StringCompareStub::GenerateCompareFlatAsciiStrings(MacroAssembler* masm, |
} |
-void StringCompareStub::GenerateAsciiCharsCompareLoop( |
- MacroAssembler* masm, |
- Register left, |
- Register right, |
- Register length, |
- Register scratch, |
- Label* chars_not_equal, |
+void StringHelper::GenerateAsciiCharsCompareLoop( |
+ MacroAssembler* masm, Register left, Register right, Register length, |
+ Register scratch, Label* chars_not_equal, |
Label::Distance chars_not_equal_near) { |
// Change index to run from -length to -1 by adding length to string |
// start. This means that loop ends when index reaches zero, which |
@@ -3357,7 +3341,7 @@ void StringCompareStub::Generate(MacroAssembler* masm) { |
__ pop(ecx); |
__ add(esp, Immediate(2 * kPointerSize)); |
__ push(ecx); |
- GenerateCompareFlatAsciiStrings(masm, edx, eax, ecx, ebx, edi); |
+ StringHelper::GenerateCompareFlatAsciiStrings(masm, edx, eax, ecx, ebx, edi); |
// Call the runtime; it returns -1 (less), 0 (equal), or 1 (greater) |
// tagged as a small integer. |
@@ -3658,11 +3642,10 @@ void ICCompareStub::GenerateStrings(MacroAssembler* masm) { |
// Compare flat ASCII strings. Returns when done. |
if (equality) { |
- StringCompareStub::GenerateFlatAsciiStringEquals( |
- masm, left, right, tmp1, tmp2); |
+ StringHelper::GenerateFlatAsciiStringEquals(masm, left, right, tmp1, tmp2); |
} else { |
- StringCompareStub::GenerateCompareFlatAsciiStrings( |
- masm, left, right, tmp1, tmp2, tmp3); |
+ StringHelper::GenerateCompareFlatAsciiStrings(masm, left, right, tmp1, tmp2, |
+ tmp3); |
} |
// Handle more complex cases in runtime. |