5#ifndef V8_REGEXP_REGEXP_BYTECODES_H_ 
    6#define V8_REGEXP_REGEXP_BYTECODES_H_ 
   34#define BYTECODE_ITERATOR(V)                                                   \ 
   38  V(PUSH_REGISTER, 3, 4)       \ 
   39  V(SET_REGISTER_TO_CP, 4, 8)  \ 
   40  V(SET_CP_TO_REGISTER, 5, 4)  \ 
   41  V(SET_REGISTER_TO_SP, 6, 4)  \ 
   42  V(SET_SP_TO_REGISTER, 7, 4)  \ 
   43  V(SET_REGISTER, 8, 8)        \ 
   44  V(ADVANCE_REGISTER, 9, 8)    \ 
   47  V(POP_REGISTER, 12, 4)       \ 
   50  V(ADVANCE_CP, 15, 4)         \ 
   62  V(LOAD_CURRENT_CHAR, 17, 8)  \ 
   67  V(LOAD_CURRENT_CHAR_UNCHECKED, 18, 4)                      \ 
   68  V(LOAD_2_CURRENT_CHARS, 19, 8)                      \ 
   69  V(LOAD_2_CURRENT_CHARS_UNCHECKED, 20, 4)                   \ 
   70  V(LOAD_4_CURRENT_CHARS, 21, 8)                      \ 
   71  V(LOAD_4_CURRENT_CHARS_UNCHECKED, 22, 4)                   \ 
   72  V(CHECK_4_CHARS, 23, 12)     \ 
   79  V(CHECK_CHAR, 24, 8)         \ 
   80  V(CHECK_NOT_4_CHARS, 25, 12)                    \ 
   81  V(CHECK_NOT_CHAR, 26, 8)     \ 
   82  V(AND_CHECK_4_CHARS, 27, 16)             \ 
   92  V(AND_CHECK_CHAR, 28, 12)            \ 
   93  V(AND_CHECK_NOT_4_CHARS, 29, 16)         \ 
   94  V(AND_CHECK_NOT_CHAR, 30, 12)             \ 
   95  V(MINUS_AND_CHECK_NOT_CHAR, 31,                                              \ 
   97  V(CHECK_CHAR_IN_RANGE, 32, 12)   \ 
   98  V(CHECK_CHAR_NOT_IN_RANGE, 33,                                               \ 
  107  V(CHECK_BIT_IN_TABLE, 34, 24)        \ 
  110  V(CHECK_NOT_BACK_REF, 37, 8)                       \ 
  111  V(CHECK_NOT_BACK_REF_NO_CASE, 38, 8)               \ 
  112  V(CHECK_NOT_BACK_REF_NO_CASE_UNICODE, 39, 8)                                 \ 
  113  V(CHECK_NOT_BACK_REF_BACKWARD, 40, 8)              \ 
  114  V(CHECK_NOT_BACK_REF_NO_CASE_BACKWARD, 41, 8)      \ 
  115  V(CHECK_NOT_BACK_REF_NO_CASE_UNICODE_BACKWARD, 42, 8)                        \ 
  116  V(CHECK_NOT_REGS_EQUAL, 43, 12)           \ 
  117  V(CHECK_REGISTER_LT, 44, 12)               \ 
  118  V(CHECK_REGISTER_GE, 45, 12)               \ 
  119  V(CHECK_REGISTER_EQ_POS, 46, 8)                    \ 
  120  V(CHECK_AT_START, 47, 8)     \ 
  121  V(CHECK_NOT_AT_START, 48, 8)                        \ 
  127  V(CHECK_GREEDY, 49, 8)       \ 
  133  V(ADVANCE_CP_AND_GOTO, 50, 8)    \ 
  134  V(SET_CURRENT_POSITION_FROM_END, 51, 4)                       \ 
  140  V(CHECK_CURRENT_POSITION, 52, 8)   \ 
  151  V(SKIP_UNTIL_BIT_IN_TABLE, 53, 32)                                           \ 
  165  V(SKIP_UNTIL_CHAR_AND, 54, 24)                                               \ 
  176  V(SKIP_UNTIL_CHAR, 55, 16)                                                   \ 
  189  V(SKIP_UNTIL_CHAR_POS_CHECKED, 56, 20)                                       \ 
  201  V(SKIP_UNTIL_CHAR_OR_CHAR, 57, 20)                                           \ 
  214  V(SKIP_UNTIL_GT_OR_NOT_BIT_IN_TABLE, 58, 32) 
 
  226#define DECLARE_BYTECODES(name, code, length) \ 
  227  static constexpr int BC_##name = code; 
 
  229#undef DECLARE_BYTECODES 
  232#define DECLARE_BYTECODE_LENGTH(name, code, length) length, 
  234#undef DECLARE_BYTECODE_LENGTH 
 
  243#define DECLARE_BYTECODE_NAME(name, ...) #name, 
  245#undef DECLARE_BYTECODE_NAME 
 
interpreter::Bytecode bytecode
constexpr bool IsInRange(T value, U lower_limit, U higher_limit)
static constexpr int kRegExpBytecodeCount
constexpr int RegExpBytecodeLength(int bytecode)
constexpr const char * RegExpBytecodeName(int bytecode)
void RegExpBytecodeDisassembleSingle(const uint8_t *code_base, const uint8_t *pc)
const unsigned int MAX_FIRST_ARG
constexpr int BYTECODE_MASK
static constexpr const char *const kRegExpBytecodeNames[]
static constexpr int kRegExpBytecodeLengths[]
void RegExpBytecodeDisassemble(const uint8_t *code_base, int length, const char *pattern)
constexpr int kRegExpPaddedBytecodeCount
#define DECLARE_BYTECODES(name, code, length)
#define BYTECODE_ITERATOR(V)
#define DECLARE_BYTECODE_LENGTH(name, code, length)
#define DECLARE_BYTECODE_NAME(name,...)
#define DCHECK(condition)