| Index: src/ia32/regexp-macro-assembler-ia32.h
|
| diff --git a/src/ia32/regexp-macro-assembler-ia32.h b/src/ia32/regexp-macro-assembler-ia32.h
|
| index c3d9155700d44c7acfa6f090c3d8b64b1e69431f..e8b5b2e20ca69f2365ff2962a529251430882551 100644
|
| --- a/src/ia32/regexp-macro-assembler-ia32.h
|
| +++ b/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_;
|
|
|
|
|