Author: [email protected]
Date: Wed Feb 4 04:20:27 2009
New Revision: 1224
Modified:
branches/bleeding_edge/src/regexp-macro-assembler-ia32.cc
branches/bleeding_edge/test/mjsunit/mjsunit.status
Log:
Fix crash-bug in code generation for case independent 16 bit backreferences.
Review URL: http://codereview.chromium.org/21042
Modified: branches/bleeding_edge/src/regexp-macro-assembler-ia32.cc
==============================================================================
--- branches/bleeding_edge/src/regexp-macro-assembler-ia32.cc (original)
+++ branches/bleeding_edge/src/regexp-macro-assembler-ia32.cc Wed Feb 4
04:20:27 2009
@@ -277,7 +277,7 @@
// Save register contents to make the registers available below.
__ push(edi);
__ push(backtrack_stackpointer());
- // After this, the eax, ebx, ecx, edx and edi registers are available.
+ // After this, the eax, ecx, and edi registers are available.
__ add(edx, Operand(esi)); // Start of capture
__ add(edi, Operand(esi)); // Start of text to match against capture.
@@ -348,9 +348,9 @@
__ add(edi, Operand(ecx));
__ mov(Operand(esp, 2 * kPointerSize), edi);
// Set byte_offset1.
- // Start of capture, where eax already holds string-end negative
offset.
- __ add(eax, Operand(ecx));
- __ mov(Operand(esp, 1 * kPointerSize), eax);
+ // Start of capture, where edx already holds string-end negative
offset.
+ __ add(edx, Operand(ecx));
+ __ mov(Operand(esp, 1 * kPointerSize), edx);
// Set buffer. Original String** parameter to regexp code.
__ mov(eax, Operand(ebp, kInputBuffer));
__ mov(Operand(esp, 0 * kPointerSize), eax);
@@ -978,7 +978,6 @@
static unibrow::Mapping<unibrow::Ecma262Canonicalize> canonicalize;
-
RegExpMacroAssemblerIA32::Result RegExpMacroAssemblerIA32::Execute(
Code* code,
Modified: branches/bleeding_edge/test/mjsunit/mjsunit.status
==============================================================================
--- branches/bleeding_edge/test/mjsunit/mjsunit.status (original)
+++ branches/bleeding_edge/test/mjsunit/mjsunit.status Wed Feb 4 04:20:27
2009
@@ -34,14 +34,6 @@
# too long to run in debug mode on ARM.
fuzz-natives: PASS, SKIP if ($mode == release || $arch == arm)
-# This test features unsupported by JSCRE. Change to PASS when
-# no longer using JSCRE.
-regexp-UC16: PASS || FAIL
-
-# These tests pass with irregexp but fail with jscre
-regress/regress-176: PASS || FAIL
-regexp-loop-capture: PASS || FAIL
-
[ $arch == arm ]
# Slow tests which times out in debug mode.
--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---