diff options
Diffstat (limited to 'chromium/v8/src/regexp/ia32')
-rw-r--r-- | chromium/v8/src/regexp/ia32/regexp-macro-assembler-ia32.cc | 7 | ||||
-rw-r--r-- | chromium/v8/src/regexp/ia32/regexp-macro-assembler-ia32.h | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/chromium/v8/src/regexp/ia32/regexp-macro-assembler-ia32.cc b/chromium/v8/src/regexp/ia32/regexp-macro-assembler-ia32.cc index 501a0aff604..f439ae7de07 100644 --- a/chromium/v8/src/regexp/ia32/regexp-macro-assembler-ia32.cc +++ b/chromium/v8/src/regexp/ia32/regexp-macro-assembler-ia32.cc @@ -206,7 +206,7 @@ void RegExpMacroAssemblerIA32::CheckGreedyLoop(Label* on_equal) { } void RegExpMacroAssemblerIA32::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; __ mov(edx, register_location(start_reg)); // Index of start of capture __ mov(ebx, register_location(start_reg + 1)); // Index of end of capture @@ -336,7 +336,10 @@ void RegExpMacroAssemblerIA32::CheckNotBackReferenceIgnoreCase( { 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, argument_count); } // Pop original values before reacting on result value. diff --git a/chromium/v8/src/regexp/ia32/regexp-macro-assembler-ia32.h b/chromium/v8/src/regexp/ia32/regexp-macro-assembler-ia32.h index 2339ca57e15..a30bff29a15 100644 --- a/chromium/v8/src/regexp/ia32/regexp-macro-assembler-ia32.h +++ b/chromium/v8/src/regexp/ia32/regexp-macro-assembler-ia32.h @@ -37,7 +37,7 @@ class V8_EXPORT_PRIVATE RegExpMacroAssemblerIA32 virtual void CheckNotBackReference(int start_reg, bool read_backward, Label* on_no_match); virtual void CheckNotBackReferenceIgnoreCase(int start_reg, - bool read_backward, + bool read_backward, bool unicode, Label* on_no_match); virtual void CheckNotCharacter(uint32_t c, Label* on_not_equal); virtual void CheckNotCharacterAfterAnd(uint32_t c, |