Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(725)

Side by Side Diff: src/regexp-macro-assembler.h

Issue 18193: Add support for \b and ^ and $ in multiline mode, completing Irregexp... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 11 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698