summaryrefslogtreecommitdiffstats
path: root/JavaScriptCore/yarr
diff options
context:
space:
mode:
Diffstat (limited to 'JavaScriptCore/yarr')
-rw-r--r--JavaScriptCore/yarr/RegexJIT.cpp14
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);