diff options
Diffstat (limited to 'V8Binding/v8/src/ia32/regexp-macro-assembler-ia32.h')
-rw-r--r-- | V8Binding/v8/src/ia32/regexp-macro-assembler-ia32.h | 59 |
1 files changed, 1 insertions, 58 deletions
diff --git a/V8Binding/v8/src/ia32/regexp-macro-assembler-ia32.h b/V8Binding/v8/src/ia32/regexp-macro-assembler-ia32.h index c3d9155..e8b5b2e 100644 --- a/V8Binding/v8/src/ia32/regexp-macro-assembler-ia32.h +++ b/V8Binding/v8/src/ia32/regexp-macro-assembler-ia32.h @@ -31,21 +31,8 @@ namespace v8 { namespace internal { -class RegExpMacroAssemblerIA32: public RegExpMacroAssembler { +class RegExpMacroAssemblerIA32: public NativeRegExpMacroAssembler { public: - // Type of input string to generate code for. - enum Mode { ASCII = 1, UC16 = 2 }; - // Result of calling the generated RegExp code: - // RETRY: Something significant changed during execution, and the matching - // should be retried from scratch. - // EXCEPTION: Something failed during execution. If no exception has been - // thrown, it's an internal out-of-memory, and the caller should - // throw the exception. - // FAILURE: Matching failed. - // SUCCESS: Matching succeeded, and the output array has been filled with - // capture positions. - enum Result { RETRY = -2, EXCEPTION = -1, FAILURE = 0, SUCCESS = 1 }; - RegExpMacroAssemblerIA32(Mode mode, int registers_to_save); virtual ~RegExpMacroAssemblerIA32(); virtual int stack_limit_slack(); @@ -54,7 +41,6 @@ class RegExpMacroAssemblerIA32: public RegExpMacroAssembler { virtual void Backtrack(); virtual void Bind(Label* label); virtual void CheckAtStart(Label* on_at_start); - virtual void CheckBitmap(uc16 start, Label* bitmap, Label* on_zero); virtual void CheckCharacter(uint32_t c, Label* on_equal); virtual void CheckCharacterAfterAnd(uint32_t c, uint32_t mask, @@ -88,16 +74,6 @@ class RegExpMacroAssemblerIA32: public RegExpMacroAssembler { int cp_offset, bool check_offset, Label* on_no_match); - virtual void DispatchByteMap(uc16 start, - Label* byte_map, - const Vector<Label*>& destinations); - virtual void DispatchHalfNibbleMap(uc16 start, - Label* half_nibble_map, - const Vector<Label*>& destinations); - virtual void DispatchHighByteMap(byte start, - Label* byte_map, - const Vector<Label*>& destinations); - virtual void EmitOrLink(Label* label); virtual void Fail(); virtual Handle<Object> GetCode(Handle<String> source); virtual void GoTo(Label* label); @@ -123,20 +99,6 @@ class RegExpMacroAssemblerIA32: public RegExpMacroAssembler { virtual void ClearRegisters(int reg_from, int reg_to); virtual void WriteStackPointerToRegister(int reg); - static Result Match(Handle<Code> regexp, - Handle<String> subject, - int* offsets_vector, - int offsets_vector_length, - int previous_index); - - static Result Execute(Code* code, - String* input, - int start_offset, - const byte* input_start, - const byte* input_end, - int* output, - bool at_start); - private: // Offsets from ebp of function parameters and stored registers. static const int kFramePointer = 0; @@ -163,16 +125,6 @@ class RegExpMacroAssemblerIA32: public RegExpMacroAssembler { // Initial size of code buffer. static const size_t kRegExpCodeSize = 1024; - // Initial size of constant buffers allocated during compilation. - static const int kRegExpConstantsSize = 256; - - static const byte* StringCharacterPosition(String* subject, int start_index); - - // Compares two-byte strings case insensitively. - // Called from generated RegExp code. - static int CaseInsensitiveCompareUC16(Address byte_offset1, - Address byte_offset2, - size_t byte_length); // Load a number of characters at the given offset from the // current position, into the current-character register. @@ -218,11 +170,6 @@ class RegExpMacroAssemblerIA32: public RegExpMacroAssembler { // is NULL, in which case it is a conditional Backtrack. void BranchOrBacktrack(Condition condition, Label* to, Hint hint = no_hint); - // Load the address of a "constant buffer" (a slice of a byte array) - // into a register. The address is computed from the ByteArray* address - // and an offset. Uses no extra registers. - void LoadConstantBufferAddress(Register reg, ArraySlice* buffer); - // Call and return internally in the generated code in a way that // is GC-safe (i.e., doesn't leave absolute code addresses on the stack) inline void SafeCall(Label* to); @@ -258,10 +205,6 @@ class RegExpMacroAssemblerIA32: public RegExpMacroAssembler { MacroAssembler* masm_; - // Constant buffer provider. Allocates external storage for storing - // constants. - ByteArrayProvider constants_; - // Which mode to generate code for (ASCII or UC16). Mode mode_; |