summaryrefslogtreecommitdiffstats
path: root/js/src/irregexp/NativeRegExpMacroAssembler.h
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-11-11 23:37:35 +0100
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-11-11 23:37:35 +0100
commitfa473930f424bf17a9e545b601c84dd2e61364e3 (patch)
tree41a29cb3ad0ebaf93f6b6248e92073fe4d8788ff /js/src/irregexp/NativeRegExpMacroAssembler.h
parentb00601953bade944cd6df9cde6fcdd1f10d76feb (diff)
downloadUXP-fa473930f424bf17a9e545b601c84dd2e61364e3.tar
UXP-fa473930f424bf17a9e545b601c84dd2e61364e3.tar.gz
UXP-fa473930f424bf17a9e545b601c84dd2e61364e3.tar.lz
UXP-fa473930f424bf17a9e545b601c84dd2e61364e3.tar.xz
UXP-fa473930f424bf17a9e545b601c84dd2e61364e3.zip
Issue #1279 - Implement regular expression lookbehind
Based on Tom Schuster's work, with extra minters for unicode.
Diffstat (limited to 'js/src/irregexp/NativeRegExpMacroAssembler.h')
-rw-r--r--js/src/irregexp/NativeRegExpMacroAssembler.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/js/src/irregexp/NativeRegExpMacroAssembler.h b/js/src/irregexp/NativeRegExpMacroAssembler.h
index 7a72e252f..fc582dccf 100644
--- a/js/src/irregexp/NativeRegExpMacroAssembler.h
+++ b/js/src/irregexp/NativeRegExpMacroAssembler.h
@@ -105,9 +105,10 @@ class MOZ_STACK_CLASS NativeRegExpMacroAssembler final : public RegExpMacroAssem
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,