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:
parent
2258704e69
commit
484ee83dd9
@ -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,
|
||||
|
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user