diff options
Diffstat (limited to 'src/regexp-macro-assembler.h')
-rw-r--r-- | src/regexp-macro-assembler.h | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/regexp-macro-assembler.h b/src/regexp-macro-assembler.h index ef85d27e..1268e783 100644 --- a/src/regexp-macro-assembler.h +++ b/src/regexp-macro-assembler.h @@ -48,6 +48,7 @@ class RegExpMacroAssembler { enum IrregexpImplementation { kIA32Implementation, kARMImplementation, + kMIPSImplementation, kX64Implementation, kBytecodeImplementation }; @@ -190,30 +191,33 @@ class NativeRegExpMacroAssembler: public RegExpMacroAssembler { Handle<String> subject, int* offsets_vector, int offsets_vector_length, - int previous_index); + int previous_index, + Isolate* isolate); // Compares two-byte strings case insensitively. // Called from generated RegExp code. static int CaseInsensitiveCompareUC16(Address byte_offset1, Address byte_offset2, - size_t byte_length); + size_t byte_length, + Isolate* isolate); // Called from RegExp if the backtrack stack limit is hit. // Tries to expand the stack. Returns the new stack-pointer if // successful, and updates the stack_top address, or returns 0 if unable // to grow the stack. // This function must not trigger a garbage collection. - static Address GrowStack(Address stack_pointer, Address* stack_top); + static Address GrowStack(Address stack_pointer, Address* stack_top, + Isolate* isolate); static const byte* StringCharacterPosition(String* subject, int start_index); // Byte map of ASCII characters with a 0xff if the character is a word // character (digit, letter or underscore) and 0x00 otherwise. // Used by generated RegExp code. - static byte word_character_map[128]; + static const byte word_character_map[128]; static Address word_character_map_address() { - return &word_character_map[0]; + return const_cast<Address>(&word_character_map[0]); } static Result Execute(Code* code, @@ -221,7 +225,8 @@ class NativeRegExpMacroAssembler: public RegExpMacroAssembler { int start_offset, const byte* input_start, const byte* input_end, - int* output); + int* output, + Isolate* isolate); }; #endif // V8_INTERPRETED_REGEXP |