Index: src/ia32/codegen-ia32.cc |
=================================================================== |
--- src/ia32/codegen-ia32.cc (revision 4395) |
+++ src/ia32/codegen-ia32.cc (working copy) |
@@ -10808,9 +10808,8 @@ |
// ebx: Length of subject string |
// ecx: RegExp data (FixedArray) |
// edx: Number of capture registers |
- // Check that the third argument is a positive smi. |
// Check that the third argument is a positive smi less than the subject |
- // string length. A negative value will be greater (usigned comparison). |
+ // string length. A negative value will be greater (unsigned comparison). |
__ mov(eax, Operand(esp, kPreviousIndexOffset)); |
__ SmiUntag(eax); |
__ cmp(eax, Operand(ebx)); |
@@ -10857,9 +10856,8 @@ |
// string. In that case the subject string is just the first part of the cons |
// string. Also in this case the first part of the cons string is known to be |
// a sequential string or an external string. |
- __ mov(edx, ebx); |
- __ and_(edx, kStringRepresentationMask); |
- __ cmp(edx, kConsStringTag); |
+ __ and_(ebx, kStringRepresentationMask); |
+ __ cmp(ebx, kConsStringTag); |
__ j(not_equal, &runtime); |
__ mov(edx, FieldOperand(eax, ConsString::kSecondOffset)); |
__ cmp(Operand(edx), Factory::empty_string()); |
@@ -10878,7 +10876,8 @@ |
// ecx: RegExp data (FixedArray) |
// Check that the irregexp code has been generated for an ascii string. If |
// it has, the field contains a code object otherwise it contains the hole. |
- __ cmp(ebx, kStringTag | kSeqStringTag | kTwoByteStringTag); |
+ const int kSeqTwoByteString = kStringTag | kSeqStringTag | kTwoByteStringTag; |
+ __ cmp(ebx, kSeqTwoByteString); |
__ j(equal, &seq_two_byte_string); |
if (FLAG_debug_code) { |
__ cmp(ebx, kStringTag | kSeqStringTag | kAsciiStringTag); |
@@ -10974,7 +10973,7 @@ |
// Result must now be exception. If there is no pending exception already a |
// stack overflow (on the backtrack stack) was detected in RegExp code but |
// haven't created the exception yet. Handle that in the runtime system. |
- // TODO(592) Rerunning the RegExp to get the stack overflow exception. |
+ // TODO(592): Rerunning the RegExp to get the stack overflow exception. |
ExternalReference pending_exception(Top::k_pending_exception_address); |
__ mov(eax, |
Operand::StaticVariable(ExternalReference::the_hole_value_location())); |
@@ -11025,7 +11024,6 @@ |
// ecx: offsets vector |
// edx: number of capture registers |
Label next_capture, done; |
- __ mov(eax, Operand(esp, kPreviousIndexOffset)); |
// Capture register counter starts from number of capture registers and |
// counts down until wraping after zero. |
__ bind(&next_capture); |