| Index: src/regexp/regexp-macro-assembler.h
|
| diff --git a/src/regexp/regexp-macro-assembler.h b/src/regexp/regexp-macro-assembler.h
|
| index 20599334cd3f7450e9991e188a29bab2b1fe0f55..a80d961b1bd374e20e3527d4bc2294803ec36eb6 100644
|
| --- a/src/regexp/regexp-macro-assembler.h
|
| +++ b/src/regexp/regexp-macro-assembler.h
|
| @@ -11,6 +11,13 @@
|
| namespace v8 {
|
| namespace internal {
|
|
|
| +static const uc32 kLeadSurrogateStart = 0xd800;
|
| +static const uc32 kLeadSurrogateEnd = 0xdbff;
|
| +static const uc32 kTrailSurrogateStart = 0xdc00;
|
| +static const uc32 kTrailSurrogateEnd = 0xdfff;
|
| +static const uc32 kNonBmpStart = 0x10000;
|
| +static const uc32 kNonBmpEnd = 0x10ffff;
|
| +
|
| struct DisjunctDecisionRow {
|
| RegExpCharacterClass cc;
|
| Label* on_match;
|
| @@ -146,6 +153,9 @@ class RegExpMacroAssembler {
|
| virtual void ClearRegisters(int reg_from, int reg_to) = 0;
|
| virtual void WriteStackPointerToRegister(int reg) = 0;
|
|
|
| + // Check that we are not in the middle of a surrogate pair.
|
| + void CheckNotInSurrogatePair(int cp_offset, Label* on_failure);
|
| +
|
| // Controls the generation of large inlined constants in the code.
|
| void set_slow_safe(bool ssc) { slow_safe_compiler_ = ssc; }
|
| bool slow_safe() { return slow_safe_compiler_; }
|
|
|