diff options
Diffstat (limited to 'chromium/v8/src/regexp/x64')
-rw-r--r-- | chromium/v8/src/regexp/x64/regexp-macro-assembler-x64.cc | 7 | ||||
-rw-r--r-- | chromium/v8/src/regexp/x64/regexp-macro-assembler-x64.h | 1 |
2 files changed, 6 insertions, 2 deletions
diff --git a/chromium/v8/src/regexp/x64/regexp-macro-assembler-x64.cc b/chromium/v8/src/regexp/x64/regexp-macro-assembler-x64.cc index cf8eb6604c9..ef3e48428f0 100644 --- a/chromium/v8/src/regexp/x64/regexp-macro-assembler-x64.cc +++ b/chromium/v8/src/regexp/x64/regexp-macro-assembler-x64.cc @@ -215,7 +215,7 @@ void RegExpMacroAssemblerX64::CheckGreedyLoop(Label* on_equal) { } void RegExpMacroAssemblerX64::CheckNotBackReferenceIgnoreCase( - int start_reg, bool read_backward, Label* on_no_match) { + int start_reg, bool read_backward, bool unicode, Label* on_no_match) { Label fallthrough; ReadPositionFromRegister(rdx, start_reg); // Offset of start of capture ReadPositionFromRegister(rbx, start_reg + 1); // Offset of end of capture @@ -354,7 +354,10 @@ void RegExpMacroAssemblerX64::CheckNotBackReferenceIgnoreCase( // linter. AllowExternalCallThatCantCauseGC scope(&masm_); ExternalReference compare = - ExternalReference::re_case_insensitive_compare_uc16(isolate()); + unicode ? ExternalReference::re_case_insensitive_compare_unicode( + isolate()) + : ExternalReference::re_case_insensitive_compare_non_unicode( + isolate()); __ CallCFunction(compare, num_arguments); } diff --git a/chromium/v8/src/regexp/x64/regexp-macro-assembler-x64.h b/chromium/v8/src/regexp/x64/regexp-macro-assembler-x64.h index 551e9bc6ec7..ea4d45edba8 100644 --- a/chromium/v8/src/regexp/x64/regexp-macro-assembler-x64.h +++ b/chromium/v8/src/regexp/x64/regexp-macro-assembler-x64.h @@ -37,6 +37,7 @@ class V8_EXPORT_PRIVATE RegExpMacroAssemblerX64 void CheckNotBackReference(int start_reg, bool read_backward, Label* on_no_match) override; void CheckNotBackReferenceIgnoreCase(int start_reg, bool read_backward, + bool unicode, Label* on_no_match) override; void CheckNotCharacter(uint32_t c, Label* on_not_equal) override; void CheckNotCharacterAfterAnd(uint32_t c, uint32_t mask, |