diff options
Diffstat (limited to 'chromium/v8/src/regexp/arm')
-rw-r--r-- | chromium/v8/src/regexp/arm/regexp-macro-assembler-arm.cc | 7 | ||||
-rw-r--r-- | chromium/v8/src/regexp/arm/regexp-macro-assembler-arm.h | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/chromium/v8/src/regexp/arm/regexp-macro-assembler-arm.cc b/chromium/v8/src/regexp/arm/regexp-macro-assembler-arm.cc index 10dad83c28c..aaee9b196c6 100644 --- a/chromium/v8/src/regexp/arm/regexp-macro-assembler-arm.cc +++ b/chromium/v8/src/regexp/arm/regexp-macro-assembler-arm.cc @@ -224,7 +224,7 @@ void RegExpMacroAssemblerARM::CheckGreedyLoop(Label* on_equal) { } void RegExpMacroAssemblerARM::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; __ ldr(r0, register_location(start_reg)); // Index of start of capture __ ldr(r1, register_location(start_reg + 1)); // Index of end of capture @@ -335,7 +335,10 @@ void RegExpMacroAssemblerARM::CheckNotBackReferenceIgnoreCase( { AllowExternalCallThatCantCauseGC scope(masm_); ExternalReference function = - ExternalReference::re_case_insensitive_compare_uc16(isolate()); + unicode ? ExternalReference::re_case_insensitive_compare_unicode( + isolate()) + : ExternalReference::re_case_insensitive_compare_non_unicode( + isolate()); __ CallCFunction(function, argument_count); } diff --git a/chromium/v8/src/regexp/arm/regexp-macro-assembler-arm.h b/chromium/v8/src/regexp/arm/regexp-macro-assembler-arm.h index 549636a6744..910e5c46079 100644 --- a/chromium/v8/src/regexp/arm/regexp-macro-assembler-arm.h +++ b/chromium/v8/src/regexp/arm/regexp-macro-assembler-arm.h @@ -37,7 +37,7 @@ class V8_EXPORT_PRIVATE RegExpMacroAssemblerARM 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(unsigned c, Label* on_not_equal); virtual void CheckNotCharacterAfterAnd(unsigned c, |