6 #ifndef V8_BYTECODES_IRREGEXP_H_
7 #define V8_BYTECODES_IRREGEXP_H_
20 #define BYTECODE_ITERATOR(V) \
24 V(PUSH_REGISTER, 3, 4) \
25 V(SET_REGISTER_TO_CP, 4, 8) \
26 V(SET_CP_TO_REGISTER, 5, 4) \
27 V(SET_REGISTER_TO_SP, 6, 4) \
28 V(SET_SP_TO_REGISTER, 7, 4) \
29 V(SET_REGISTER, 8, 8) \
30 V(ADVANCE_REGISTER, 9, 8) \
33 V(POP_REGISTER, 12, 4) \
36 V(ADVANCE_CP, 15, 4) \
38 V(LOAD_CURRENT_CHAR, 17, 8) \
39 V(LOAD_CURRENT_CHAR_UNCHECKED, 18, 4) \
40 V(LOAD_2_CURRENT_CHARS, 19, 8) \
41 V(LOAD_2_CURRENT_CHARS_UNCHECKED, 20, 4) \
42 V(LOAD_4_CURRENT_CHARS, 21, 8) \
43 V(LOAD_4_CURRENT_CHARS_UNCHECKED, 22, 4) \
44 V(CHECK_4_CHARS, 23, 12) \
45 V(CHECK_CHAR, 24, 8) \
46 V(CHECK_NOT_4_CHARS, 25, 12) \
47 V(CHECK_NOT_CHAR, 26, 8) \
48 V(AND_CHECK_4_CHARS, 27, 16) \
49 V(AND_CHECK_CHAR, 28, 12) \
50 V(AND_CHECK_NOT_4_CHARS, 29, 16) \
51 V(AND_CHECK_NOT_CHAR, 30, 12) \
52 V(MINUS_AND_CHECK_NOT_CHAR, 31, 12) \
53 V(CHECK_CHAR_IN_RANGE, 32, 12) \
54 V(CHECK_CHAR_NOT_IN_RANGE, 33, 12) \
55 V(CHECK_BIT_IN_TABLE, 34, 24) \
58 V(CHECK_NOT_BACK_REF, 37, 8) \
59 V(CHECK_NOT_BACK_REF_NO_CASE, 38, 8) \
60 V(CHECK_NOT_REGS_EQUAL, 39, 12) \
61 V(CHECK_REGISTER_LT, 40, 12) \
62 V(CHECK_REGISTER_GE, 41, 12) \
63 V(CHECK_REGISTER_EQ_POS, 42, 8) \
64 V(CHECK_AT_START, 43, 8) \
65 V(CHECK_NOT_AT_START, 44, 8) \
66 V(CHECK_GREEDY, 45, 8) \
67 V(ADVANCE_CP_AND_GOTO, 46, 8) \
68 V(SET_CURRENT_POSITION_FROM_END, 47, 4)
70 #define DECLARE_BYTECODES(name, code, length) \
71 static const int BC_##name = code;
73 #undef DECLARE_BYTECODES
75 #define DECLARE_BYTECODE_LENGTH(name, code, length) \
76 static const int BC_##name##_LENGTH = length;
78 #undef DECLARE_BYTECODE_LENGTH
#define DECLARE_BYTECODES(name, code, length)
#define BYTECODE_ITERATOR(V)
#define DECLARE_BYTECODE_LENGTH(name, code, length)
const unsigned int MAX_FIRST_ARG
Debugger support for the V8 JavaScript engine.