diff options
Diffstat (limited to 'deps/v8/test/cctest/test-regexp.cc')
-rw-r--r-- | deps/v8/test/cctest/test-regexp.cc | 35 |
1 files changed, 15 insertions, 20 deletions
diff --git a/deps/v8/test/cctest/test-regexp.cc b/deps/v8/test/cctest/test-regexp.cc index d0193520fa..712fec0564 100644 --- a/deps/v8/test/cctest/test-regexp.cc +++ b/deps/v8/test/cctest/test-regexp.cc @@ -49,6 +49,11 @@ #include "arm/macro-assembler-arm.h" #include "arm/regexp-macro-assembler-arm.h" #endif +#if V8_TARGET_ARCH_ARM64 +#include "arm64/assembler-arm64.h" +#include "arm64/macro-assembler-arm64.h" +#include "arm64/regexp-macro-assembler-arm64.h" +#endif #if V8_TARGET_ARCH_MIPS #include "mips/assembler-mips.h" #include "mips/macro-assembler-mips.h" @@ -444,27 +449,15 @@ static bool NotDigit(uc16 c) { } -static bool IsWhiteSpace(uc16 c) { - switch (c) { - case 0x09: - case 0x0A: - case 0x0B: - case 0x0C: - case 0x0d: - case 0x20: - case 0xA0: - case 0x2028: - case 0x2029: - case 0xFEFF: - return true; - default: - return unibrow::Space::Is(c); - } +static bool IsWhiteSpaceOrLineTerminator(uc16 c) { + // According to ECMA 5.1, 15.10.2.12 the CharacterClassEscape \s includes + // WhiteSpace (7.2) and LineTerminator (7.3) values. + return v8::internal::WhiteSpaceOrLineTerminator::Is(c); } -static bool NotWhiteSpace(uc16 c) { - return !IsWhiteSpace(c); +static bool NotWhiteSpaceNorLineTermiantor(uc16 c) { + return !IsWhiteSpaceOrLineTerminator(c); } @@ -494,8 +487,8 @@ TEST(CharacterClassEscapes) { TestCharacterClassEscapes('.', IsRegExpNewline); TestCharacterClassEscapes('d', IsDigit); TestCharacterClassEscapes('D', NotDigit); - TestCharacterClassEscapes('s', IsWhiteSpace); - TestCharacterClassEscapes('S', NotWhiteSpace); + TestCharacterClassEscapes('s', IsWhiteSpaceOrLineTerminator); + TestCharacterClassEscapes('S', NotWhiteSpaceNorLineTermiantor); TestCharacterClassEscapes('w', IsRegExpWord); TestCharacterClassEscapes('W', NotWord); } @@ -701,6 +694,8 @@ typedef RegExpMacroAssemblerIA32 ArchRegExpMacroAssembler; typedef RegExpMacroAssemblerX64 ArchRegExpMacroAssembler; #elif V8_TARGET_ARCH_ARM typedef RegExpMacroAssemblerARM ArchRegExpMacroAssembler; +#elif V8_TARGET_ARCH_ARM64 +typedef RegExpMacroAssemblerARM64 ArchRegExpMacroAssembler; #elif V8_TARGET_ARCH_MIPS typedef RegExpMacroAssemblerMIPS ArchRegExpMacroAssembler; #endif |