diff options
Diffstat (limited to 'JavaScriptCore/yarr')
-rw-r--r-- | JavaScriptCore/yarr/RegexJIT.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/JavaScriptCore/yarr/RegexJIT.cpp b/JavaScriptCore/yarr/RegexJIT.cpp index 340b53d..e33dba0 100644 --- a/JavaScriptCore/yarr/RegexJIT.cpp +++ b/JavaScriptCore/yarr/RegexJIT.cpp @@ -616,13 +616,12 @@ class RegexGenerator : private MacroAssembler { add32(Imm32(1), countRegister); add32(Imm32(1), index); - if (term.quantityCount != 0xffffffff) + if (term.quantityCount != 0xffffffff) { branch32(NotEqual, countRegister, Imm32(term.quantityCount)).linkTo(loop, this); - else + failures.append(jump()); + } else jump(loop); - failures.append(jump()); - Label backtrackBegin(this); loadFromFrame(term.frameLocation, countRegister); state.jumpToBacktrack(branchTest32(Zero, countRegister), this); @@ -742,13 +741,12 @@ class RegexGenerator : private MacroAssembler { add32(Imm32(1), countRegister); add32(Imm32(1), index); - if (term.quantityCount != 0xffffffff) + if (term.quantityCount != 0xffffffff) { branch32(NotEqual, countRegister, Imm32(term.quantityCount)).linkTo(loop, this); - else + failures.append(jump()); + } else jump(loop); - failures.append(jump()); - Label backtrackBegin(this); loadFromFrame(term.frameLocation, countRegister); state.jumpToBacktrack(branchTest32(Zero, countRegister), this); |