summaryrefslogtreecommitdiffstats
path: root/js/src/irregexp/RegExpMacroAssembler.h
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-11-12 17:03:28 +0100
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-11-12 17:03:28 +0100
commitce0dd36a78814c59950fde6c19413c1f7ea85ee1 (patch)
tree7c0828a5828482fd1d542268423e01324ca936f8 /js/src/irregexp/RegExpMacroAssembler.h
parent899be7cedbef6678280d56a4725f2697f808bbb5 (diff)
parentfa473930f424bf17a9e545b601c84dd2e61364e3 (diff)
downloadUXP-ce0dd36a78814c59950fde6c19413c1f7ea85ee1.tar
UXP-ce0dd36a78814c59950fde6c19413c1f7ea85ee1.tar.gz
UXP-ce0dd36a78814c59950fde6c19413c1f7ea85ee1.tar.lz
UXP-ce0dd36a78814c59950fde6c19413c1f7ea85ee1.tar.xz
UXP-ce0dd36a78814c59950fde6c19413c1f7ea85ee1.zip
Merge branch 'issue-1279'
Diffstat (limited to 'js/src/irregexp/RegExpMacroAssembler.h')
-rw-r--r--js/src/irregexp/RegExpMacroAssembler.h15
1 files changed, 8 insertions, 7 deletions
diff --git a/js/src/irregexp/RegExpMacroAssembler.h b/js/src/irregexp/RegExpMacroAssembler.h
index dca2edf90..c5def92f2 100644
--- a/js/src/irregexp/RegExpMacroAssembler.h
+++ b/js/src/irregexp/RegExpMacroAssembler.h
@@ -110,10 +110,10 @@ class MOZ_STACK_CLASS RegExpMacroAssembler
virtual void CheckCharacterGT(char16_t limit, jit::Label* on_greater) = 0;
virtual void CheckCharacterLT(char16_t limit, jit::Label* on_less) = 0;
virtual void CheckGreedyLoop(jit::Label* on_tos_equals_current_position) = 0;
- virtual void CheckNotAtStart(jit::Label* on_not_at_start) = 0;
- virtual void CheckNotBackReference(int start_reg, jit::Label* on_no_match) = 0;
- virtual void CheckNotBackReferenceIgnoreCase(int start_reg, jit::Label* on_no_match,
- bool unicode) = 0;
+ virtual void CheckNotAtStart(int cp_offset, jit::Label* on_not_at_start) = 0;
+ virtual void CheckNotBackReference(int start_reg, bool read_backward, jit::Label* on_no_match) = 0;
+ virtual void CheckNotBackReferenceIgnoreCase(int start_reg, bool read_backward,
+ jit::Label* on_no_match, bool unicode) = 0;
// Check the current character for a match with a literal character. If we
// fail to match then goto the on_failure label. End of input always
@@ -245,9 +245,10 @@ class MOZ_STACK_CLASS InterpretedRegExpMacroAssembler final : public RegExpMacro
void CheckCharacterGT(char16_t limit, jit::Label* on_greater);
void CheckCharacterLT(char16_t limit, jit::Label* on_less);
void CheckGreedyLoop(jit::Label* on_tos_equals_current_position);
- void CheckNotAtStart(jit::Label* on_not_at_start);
- void CheckNotBackReference(int start_reg, jit::Label* on_no_match);
- void CheckNotBackReferenceIgnoreCase(int start_reg, jit::Label* on_no_match, bool unicode);
+ void CheckNotAtStart(int cp_offset, jit::Label* on_not_at_start);
+ void CheckNotBackReference(int start_reg, bool read_backward, jit::Label* on_no_match);
+ void CheckNotBackReferenceIgnoreCase(int start_reg, bool read_backward,
+ jit::Label* on_no_match, bool unicode);
void CheckNotCharacter(unsigned c, jit::Label* on_not_equal);
void CheckNotCharacterAfterAnd(unsigned c, unsigned and_with, jit::Label* on_not_equal);
void CheckNotCharacterAfterMinusAnd(char16_t c, char16_t minus, char16_t and_with,