| OLD | NEW | 
|---|
| 1 // Copyright 2008 the V8 project authors. All rights reserved. | 1 // Copyright 2008 the V8 project authors. All rights reserved. | 
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without | 
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are | 
| 4 // met: | 4 // met: | 
| 5 // | 5 // | 
| 6 //     * Redistributions of source code must retain the above copyright | 6 //     * Redistributions of source code must retain the above copyright | 
| 7 //       notice, this list of conditions and the following disclaimer. | 7 //       notice, this list of conditions and the following disclaimer. | 
| 8 //     * Redistributions in binary form must reproduce the above | 8 //     * Redistributions in binary form must reproduce the above | 
| 9 //       copyright notice, this list of conditions and the following | 9 //       copyright notice, this list of conditions and the following | 
| 10 //       disclaimer in the documentation and/or other materials provided | 10 //       disclaimer in the documentation and/or other materials provided | 
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 55   virtual void PushCurrentPosition(); | 55   virtual void PushCurrentPosition(); | 
| 56   virtual void Backtrack(); | 56   virtual void Backtrack(); | 
| 57   virtual void GoTo(Label* label); | 57   virtual void GoTo(Label* label); | 
| 58   virtual void PushBacktrack(Label* label); | 58   virtual void PushBacktrack(Label* label); | 
| 59   virtual void Succeed(); | 59   virtual void Succeed(); | 
| 60   virtual void Fail(); | 60   virtual void Fail(); | 
| 61   virtual void PopRegister(int register_index); | 61   virtual void PopRegister(int register_index); | 
| 62   virtual void PushRegister(int register_index); | 62   virtual void PushRegister(int register_index); | 
| 63   virtual void AdvanceRegister(int reg, int by);  // r[reg] += by. | 63   virtual void AdvanceRegister(int reg, int by);  // r[reg] += by. | 
| 64   virtual void SetRegister(int register_index, int to); | 64   virtual void SetRegister(int register_index, int to); | 
| 65   virtual void WriteCurrentPositionToRegister(int reg); | 65   virtual void WriteCurrentPositionToRegister(int reg, int cp_offset); | 
| 66   virtual void ReadCurrentPositionFromRegister(int reg); | 66   virtual void ReadCurrentPositionFromRegister(int reg); | 
| 67   virtual void WriteStackPointerToRegister(int reg); | 67   virtual void WriteStackPointerToRegister(int reg); | 
| 68   virtual void ReadStackPointerFromRegister(int reg); | 68   virtual void ReadStackPointerFromRegister(int reg); | 
| 69   virtual void LoadCurrentCharacter(int cp_offset, Label* on_end_of_input); | 69   virtual void LoadCurrentCharacter(int cp_offset, Label* on_end_of_input); | 
|  | 70   virtual void LoadCurrentCharacterUnchecked(int cp_offset); | 
| 70   virtual void CheckCharacterLT(uc16 limit, Label* on_less); | 71   virtual void CheckCharacterLT(uc16 limit, Label* on_less); | 
| 71   virtual void CheckCharacterGT(uc16 limit, Label* on_greater); | 72   virtual void CheckCharacterGT(uc16 limit, Label* on_greater); | 
| 72   virtual void CheckCharacter(uc16 c, Label* on_equal); | 73   virtual void CheckCharacter(uc16 c, Label* on_equal); | 
|  | 74   virtual void CheckGreedyLoop(Label* on_tos_equals_current_position); | 
| 73   virtual void CheckNotAtStart(Label* on_not_at_start); | 75   virtual void CheckNotAtStart(Label* on_not_at_start); | 
| 74   virtual void CheckNotCharacter(uc16 c, Label* on_not_equal); | 76   virtual void CheckNotCharacter(uc16 c, Label* on_not_equal); | 
| 75   virtual void CheckNotCharacterAfterOr(uc16 c, uc16 mask, Label* on_not_equal); | 77   virtual void CheckNotCharacterAfterOr(uc16 c, uc16 mask, Label* on_not_equal); | 
| 76   virtual void CheckNotCharacterAfterMinusOr(uc16 c, | 78   virtual void CheckNotCharacterAfterMinusOr(uc16 c, | 
| 77                                              uc16 mask, | 79                                              uc16 mask, | 
| 78                                              Label* on_not_equal); | 80                                              Label* on_not_equal); | 
| 79   virtual void CheckNotBackReference(int start_reg, Label* on_no_match); | 81   virtual void CheckNotBackReference(int start_reg, Label* on_no_match); | 
| 80   virtual void CheckNotBackReferenceIgnoreCase(int start_reg, | 82   virtual void CheckNotBackReferenceIgnoreCase(int start_reg, | 
| 81                                                Label* on_no_match); | 83                                                Label* on_no_match); | 
| 82   virtual void CheckNotRegistersEqual(int reg1, int reg2, Label* on_not_equal); | 84   virtual void CheckNotRegistersEqual(int reg1, int reg2, Label* on_not_equal); | 
| 83   virtual void CheckCharacters(Vector<const uc16> str, | 85   virtual void CheckCharacters(Vector<const uc16> str, | 
| 84                                int cp_offset, | 86                                int cp_offset, | 
| 85                                Label* on_failure); | 87                                Label* on_failure, | 
| 86   virtual void CheckCurrentPosition(int register_index, Label* on_equal); | 88                                bool check_end_of_string); | 
| 87   virtual void CheckBitmap(uc16 start, Label* bitmap, Label* on_zero); | 89   virtual void CheckBitmap(uc16 start, Label* bitmap, Label* on_zero); | 
| 88   virtual void DispatchHalfNibbleMap(uc16 start, | 90   virtual void DispatchHalfNibbleMap(uc16 start, | 
| 89                                      Label* half_nibble_map, | 91                                      Label* half_nibble_map, | 
| 90                                      const Vector<Label*>& destinations); | 92                                      const Vector<Label*>& destinations); | 
| 91   virtual void DispatchByteMap(uc16 start, | 93   virtual void DispatchByteMap(uc16 start, | 
| 92                                Label* byte_map, | 94                                Label* byte_map, | 
| 93                                const Vector<Label*>& destinations); | 95                                const Vector<Label*>& destinations); | 
| 94   virtual void DispatchHighByteMap(byte start, | 96   virtual void DispatchHighByteMap(byte start, | 
| 95                                    Label* byte_map, | 97                                    Label* byte_map, | 
| 96                                    const Vector<Label*>& destinations); | 98                                    const Vector<Label*>& destinations); | 
| 97   virtual void IfRegisterLT(int register_index, int comparand, Label* if_lt); | 99   virtual void IfRegisterLT(int register_index, int comparand, Label* if_lt); | 
| 98   virtual void IfRegisterGE(int register_index, int comparand, Label* if_ge); | 100   virtual void IfRegisterGE(int register_index, int comparand, Label* if_ge); | 
| 99 | 101 | 
| 100   virtual IrregexpImplementation Implementation(); | 102   virtual IrregexpImplementation Implementation(); | 
| 101   virtual Handle<Object> GetCode(); | 103   virtual Handle<Object> GetCode(Handle<String> source); | 
| 102  private: | 104  private: | 
| 103   void Expand(); | 105   void Expand(); | 
| 104   // Code and bitmap emission. | 106   // Code and bitmap emission. | 
| 105   inline void Emit32(uint32_t x); | 107   inline void Emit32(uint32_t x); | 
| 106   inline void Emit16(uint32_t x); | 108   inline void Emit16(uint32_t x); | 
| 107   inline void Emit(uint32_t x); | 109   inline void Emit(uint32_t x); | 
| 108   // Bytecode buffer. | 110   // Bytecode buffer. | 
| 109   int length(); | 111   int length(); | 
| 110   void Copy(Address a); | 112   void Copy(Address a); | 
| 111 | 113 | 
| 112 |  | 
| 113 |  | 
| 114   // The buffer into which code and relocation info are generated. | 114   // The buffer into which code and relocation info are generated. | 
| 115   Vector<byte> buffer_; | 115   Vector<byte> buffer_; | 
| 116   // The program counter. | 116   // The program counter. | 
| 117   int pc_; | 117   int pc_; | 
| 118   // True if the assembler owns the buffer, false if buffer is external. | 118   // True if the assembler owns the buffer, false if buffer is external. | 
| 119   bool own_buffer_; | 119   bool own_buffer_; | 
|  | 120   Label backtrack_; | 
| 120 | 121 | 
| 121   DISALLOW_IMPLICIT_CONSTRUCTORS(RegExpMacroAssemblerIrregexp); | 122   DISALLOW_IMPLICIT_CONSTRUCTORS(RegExpMacroAssemblerIrregexp); | 
| 122 }; | 123 }; | 
| 123 | 124 | 
| 124 } }  // namespace v8::internal | 125 } }  // namespace v8::internal | 
| 125 | 126 | 
| 126 #endif  // V8_REGEXP_MACRO_ASSEMBLER_IRREGEXP_H_ | 127 #endif  // V8_REGEXP_MACRO_ASSEMBLER_IRREGEXP_H_ | 
| OLD | NEW | 
|---|