29 #ifndef V8_BYTECODES_IRREGEXP_H_
30 #define V8_BYTECODES_IRREGEXP_H_
43 #define BYTECODE_ITERATOR(V) \
47 V(PUSH_REGISTER, 3, 4) \
48 V(SET_REGISTER_TO_CP, 4, 8) \
49 V(SET_CP_TO_REGISTER, 5, 4) \
50 V(SET_REGISTER_TO_SP, 6, 4) \
51 V(SET_SP_TO_REGISTER, 7, 4) \
52 V(SET_REGISTER, 8, 8) \
53 V(ADVANCE_REGISTER, 9, 8) \
56 V(POP_REGISTER, 12, 4) \
59 V(ADVANCE_CP, 15, 4) \
61 V(LOAD_CURRENT_CHAR, 17, 8) \
62 V(LOAD_CURRENT_CHAR_UNCHECKED, 18, 4) \
63 V(LOAD_2_CURRENT_CHARS, 19, 8) \
64 V(LOAD_2_CURRENT_CHARS_UNCHECKED, 20, 4) \
65 V(LOAD_4_CURRENT_CHARS, 21, 8) \
66 V(LOAD_4_CURRENT_CHARS_UNCHECKED, 22, 4) \
67 V(CHECK_4_CHARS, 23, 12) \
68 V(CHECK_CHAR, 24, 8) \
69 V(CHECK_NOT_4_CHARS, 25, 12) \
70 V(CHECK_NOT_CHAR, 26, 8) \
71 V(AND_CHECK_4_CHARS, 27, 16) \
72 V(AND_CHECK_CHAR, 28, 12) \
73 V(AND_CHECK_NOT_4_CHARS, 29, 16) \
74 V(AND_CHECK_NOT_CHAR, 30, 12) \
75 V(MINUS_AND_CHECK_NOT_CHAR, 31, 12) \
76 V(CHECK_CHAR_IN_RANGE, 32, 12) \
77 V(CHECK_CHAR_NOT_IN_RANGE, 33, 12) \
78 V(CHECK_BIT_IN_TABLE, 34, 24) \
81 V(CHECK_NOT_BACK_REF, 37, 8) \
82 V(CHECK_NOT_BACK_REF_NO_CASE, 38, 8) \
83 V(CHECK_NOT_REGS_EQUAL, 39, 12) \
84 V(CHECK_REGISTER_LT, 40, 12) \
85 V(CHECK_REGISTER_GE, 41, 12) \
86 V(CHECK_REGISTER_EQ_POS, 42, 8) \
87 V(CHECK_AT_START, 43, 8) \
88 V(CHECK_NOT_AT_START, 44, 8) \
89 V(CHECK_GREEDY, 45, 8) \
90 V(ADVANCE_CP_AND_GOTO, 46, 8) \
91 V(SET_CURRENT_POSITION_FROM_END, 47, 4)
93 #define DECLARE_BYTECODES(name, code, length) \
94 static const int BC_##name = code;
96 #undef DECLARE_BYTECODES
98 #define DECLARE_BYTECODE_LENGTH(name, code, length) \
99 static const int BC_##name##_LENGTH = length;
101 #undef DECLARE_BYTECODE_LENGTH
104 #endif // V8_BYTECODES_IRREGEXP_H_
#define DECLARE_BYTECODES(name, code, length)
const unsigned int MAX_FIRST_ARG
#define DECLARE_BYTECODE_LENGTH(name, code, length)
#define BYTECODE_ITERATOR(V)