| 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 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 54 // The maximal number of pushes between stack checks. Users must supply | 54 // The maximal number of pushes between stack checks. Users must supply |
| 55 // kCheckStackLimit flag to push operations (instead of kNoStackLimitCheck) | 55 // kCheckStackLimit flag to push operations (instead of kNoStackLimitCheck) |
| 56 // at least once for every stack_limit() pushes that are executed. | 56 // at least once for every stack_limit() pushes that are executed. |
| 57 virtual int stack_limit_slack() = 0; | 57 virtual int stack_limit_slack() = 0; |
| 58 virtual void AdvanceCurrentPosition(int by) = 0; // Signed cp change. | 58 virtual void AdvanceCurrentPosition(int by) = 0; // Signed cp change. |
| 59 virtual void AdvanceRegister(int reg, int by) = 0; // r[reg] += by. | 59 virtual void AdvanceRegister(int reg, int by) = 0; // r[reg] += by. |
| 60 // Continues execution from the position pushed on the top of the backtrack | 60 // Continues execution from the position pushed on the top of the backtrack |
| 61 // stack by an earlier PushBacktrack(Label*). | 61 // stack by an earlier PushBacktrack(Label*). |
| 62 virtual void Backtrack() = 0; | 62 virtual void Backtrack() = 0; |
| 63 virtual void Bind(Label* label) = 0; | 63 virtual void Bind(Label* label) = 0; |
| 64 virtual void CheckAtStart(Label* on_at_start) = 0; |
| 64 // Check the current character against a bitmap. The range of the current | 65 // Check the current character against a bitmap. The range of the current |
| 65 // character must be from start to start + length_of_bitmap_in_bits. | 66 // character must be from start to start + length_of_bitmap_in_bits. |
| 66 virtual void CheckBitmap( | 67 virtual void CheckBitmap( |
| 67 uc16 start, // The bitmap is indexed from this character. | 68 uc16 start, // The bitmap is indexed from this character. |
| 68 Label* bitmap, // Where the bitmap is emitted. | 69 Label* bitmap, // Where the bitmap is emitted. |
| 69 Label* on_zero) = 0; // Where to go if the bit is 0. Fall through on 1. | 70 Label* on_zero) = 0; // Where to go if the bit is 0. Fall through on 1. |
| 70 // Dispatch after looking the current character up in a 2-bits-per-entry | 71 // Dispatch after looking the current character up in a 2-bits-per-entry |
| 71 // map. The destinations vector has up to 4 labels. | 72 // map. The destinations vector has up to 4 labels. |
| 72 virtual void CheckCharacter(uint32_t c, Label* on_equal) = 0; | 73 virtual void CheckCharacter(uint32_t c, Label* on_equal) = 0; |
| 73 // Bitwise and the current character with the given constant and then | 74 // Bitwise and the current character with the given constant and then |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 210 ArraySlice GetBuffer(Vector<T> values); | 211 ArraySlice GetBuffer(Vector<T> values); |
| 211 private: | 212 private: |
| 212 size_t byte_array_size_; | 213 size_t byte_array_size_; |
| 213 Handle<ByteArray> current_byte_array_; | 214 Handle<ByteArray> current_byte_array_; |
| 214 int current_byte_array_free_offset_; | 215 int current_byte_array_free_offset_; |
| 215 }; | 216 }; |
| 216 | 217 |
| 217 } } // namespace v8::internal | 218 } } // namespace v8::internal |
| 218 | 219 |
| 219 #endif // V8_REGEXP_MACRO_ASSEMBLER_H_ | 220 #endif // V8_REGEXP_MACRO_ASSEMBLER_H_ |
| OLD | NEW |