OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 30 matching lines...) Expand all Loading... |
41 // for a detailed comment on the layout (globals.h). | 41 // for a detailed comment on the layout (globals.h). |
42 // | 42 // |
43 // If the provided buffer is NULL, the assembler allocates and grows its own | 43 // If the provided buffer is NULL, the assembler allocates and grows its own |
44 // buffer, and buffer_size determines the initial buffer size. The buffer is | 44 // buffer, and buffer_size determines the initial buffer size. The buffer is |
45 // owned by the assembler and deallocated upon destruction of the assembler. | 45 // owned by the assembler and deallocated upon destruction of the assembler. |
46 // | 46 // |
47 // If the provided buffer is not NULL, the assembler uses the provided buffer | 47 // If the provided buffer is not NULL, the assembler uses the provided buffer |
48 // for code generation and assumes its size to be buffer_size. If the buffer | 48 // for code generation and assumes its size to be buffer_size. If the buffer |
49 // is too small, a fatal error occurs. No deallocation of the buffer is done | 49 // is too small, a fatal error occurs. No deallocation of the buffer is done |
50 // upon destruction of the assembler. | 50 // upon destruction of the assembler. |
51 explicit RegExpMacroAssemblerIrregexp(Vector<byte>); | 51 RegExpMacroAssemblerIrregexp(Vector<byte>, Zone* zone); |
52 virtual ~RegExpMacroAssemblerIrregexp(); | 52 virtual ~RegExpMacroAssemblerIrregexp(); |
53 // The byte-code interpreter checks on each push anyway. | 53 // The byte-code interpreter checks on each push anyway. |
54 virtual int stack_limit_slack() { return 1; } | 54 virtual int stack_limit_slack() { return 1; } |
55 virtual void Bind(Label* label); | 55 virtual void Bind(Label* label); |
56 virtual void AdvanceCurrentPosition(int by); // Signed cp change. | 56 virtual void AdvanceCurrentPosition(int by); // Signed cp change. |
57 virtual void PopCurrentPosition(); | 57 virtual void PopCurrentPosition(); |
58 virtual void PushCurrentPosition(); | 58 virtual void PushCurrentPosition(); |
59 virtual void Backtrack(); | 59 virtual void Backtrack(); |
60 virtual void GoTo(Label* label); | 60 virtual void GoTo(Label* label); |
61 virtual void PushBacktrack(Label* label); | 61 virtual void PushBacktrack(Label* label); |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
141 static const int kInvalidPC = -1; | 141 static const int kInvalidPC = -1; |
142 | 142 |
143 DISALLOW_IMPLICIT_CONSTRUCTORS(RegExpMacroAssemblerIrregexp); | 143 DISALLOW_IMPLICIT_CONSTRUCTORS(RegExpMacroAssemblerIrregexp); |
144 }; | 144 }; |
145 | 145 |
146 #endif // V8_INTERPRETED_REGEXP | 146 #endif // V8_INTERPRETED_REGEXP |
147 | 147 |
148 } } // namespace v8::internal | 148 } } // namespace v8::internal |
149 | 149 |
150 #endif // V8_REGEXP_MACRO_ASSEMBLER_IRREGEXP_H_ | 150 #endif // V8_REGEXP_MACRO_ASSEMBLER_IRREGEXP_H_ |
OLD | NEW |