Fix crash-bug in code generation for case independent 16 bit backreferences.

Review URL: http://codereview.chromium.org/21042

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
erik.corry@gmail.com 2009-02-04 12:20:27 +00:00
parent 2258704e69
commit 484ee83dd9
2 changed files with 4 additions and 13 deletions

View File

@ -277,7 +277,7 @@ void RegExpMacroAssemblerIA32::CheckNotBackReferenceIgnoreCase(
// 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 @@ void RegExpMacroAssemblerIA32::CheckNotBackReferenceIgnoreCase(
__ 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);
@ -979,7 +979,6 @@ void RegExpMacroAssemblerIA32::WriteStackPointerToRegister(int reg) {
static unibrow::Mapping<unibrow::Ecma262Canonicalize> canonicalize;
RegExpMacroAssemblerIA32::Result RegExpMacroAssemblerIA32::Execute(
Code* code,
Address* input,

View File

@ -34,14 +34,6 @@ bugs: FAIL
# 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.