Chromium Code Reviews| Index: src/regexp-macro-assembler.h |
| =================================================================== |
| --- src/regexp-macro-assembler.h (revision 11134) |
| +++ src/regexp-macro-assembler.h (working copy) |
| @@ -45,6 +45,11 @@ |
| static const int kMaxRegister = (1 << 16) - 1; |
| static const int kMaxCPOffset = (1 << 15) - 1; |
| static const int kMinCPOffset = -(1 << 15); |
| + |
| + static const int kTableSizeBits = 7; |
| + static const int kTableSize = 1 << kTableSizeBits; |
| + static const int kTableMask = kTableSize - 1; |
| + |
| enum IrregexpImplementation { |
| kIA32Implementation, |
| kARMImplementation, |
| @@ -106,12 +111,20 @@ |
| virtual void CheckNotCharacterAfterAnd(unsigned c, |
| unsigned and_with, |
| Label* on_not_equal) = 0; |
| - // Subtract a constant from the current character, then or with the given |
| + // Subtract a constant from the current character, then and with the given |
| // constant and then check for a match with c. |
| virtual void CheckNotCharacterAfterMinusAnd(uc16 c, |
| uc16 minus, |
| uc16 and_with, |
| Label* on_not_equal) = 0; |
| + virtual void CheckCharacterInRange(uc16 from, |
| + uc16 to, // Both inclusive. |
| + Label* on_in_range) = 0; |
| + virtual void CheckCharacterNotInRange(uc16 from, |
| + uc16 to, // Both inclusive. |
| + Label* on_not_in_range) = 0; |
| + virtual void CheckBitInTable(Handle<ByteArray> table, Label* on_bit_set) = 0; |
|
ulan
2012/03/27 11:02:43
A description comment for this function would nice
Erik Corry
2012/03/28 09:40:26
Done.
|
| + |
| virtual void CheckNotRegistersEqual(int reg1, |
| int reg2, |
| Label* on_not_equal) = 0; |