FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
cpython/Include/opcode.h at 2.7 · python-emscripten/cpython · GitHub
python-emscripten
cpython
Repository navigation
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
cpython
/
Include
/
opcode.h
Copy path
More file actions
More file actions
Latest commit
History
History
History
171 lines (141 loc) · 4.7 KB
Breadcrumbs
cpython
/
Include
/
opcode.h
Copy path
File metadata and controls
171 lines (141 loc) · 4.7 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
#ifndef
Py_OPCODE_H
#define
Py_OPCODE_H
#ifdef
__cplusplus
extern
"C"
{
#endif
/* Instruction opcodes for compiled code */
#define
STOP_CODE
0
#define
POP_TOP
1
#define
ROT_TWO
2
#define
ROT_THREE
3
#define
DUP_TOP
4
#define
ROT_FOUR
5
#define
NOP
9
#define
UNARY_POSITIVE
10
#define
UNARY_NEGATIVE
11
#define
UNARY_NOT
12
#define
UNARY_CONVERT
13
#define
UNARY_INVERT
15
#define
BINARY_POWER
19
#define
BINARY_MULTIPLY
20
#define
BINARY_DIVIDE
21
#define
BINARY_MODULO
22
#define
BINARY_ADD
23
#define
BINARY_SUBTRACT
24
#define
BINARY_SUBSCR
25
#define
BINARY_FLOOR_DIVIDE
26
#define
BINARY_TRUE_DIVIDE
27
#define
INPLACE_FLOOR_DIVIDE
28
#define
INPLACE_TRUE_DIVIDE
29
#define
SLICE
30
/* Also uses 31-33 */
#define
SLICE_1
31
#define
SLICE_2
32
#define
SLICE_3
33
#define
STORE_SLICE
40
/* Also uses 41-43 */
#define
STORE_SLICE_1
41
#define
STORE_SLICE_2
42
#define
STORE_SLICE_3
43
#define
DELETE_SLICE
50
/* Also uses 51-53 */
#define
DELETE_SLICE_1
51
#define
DELETE_SLICE_2
52
#define
DELETE_SLICE_3
53
#define
STORE_MAP
54
#define
INPLACE_ADD
55
#define
INPLACE_SUBTRACT
56
#define
INPLACE_MULTIPLY
57
#define
INPLACE_DIVIDE
58
#define
INPLACE_MODULO
59
#define
STORE_SUBSCR
60
#define
DELETE_SUBSCR
61
#define
BINARY_LSHIFT
62
#define
BINARY_RSHIFT
63
#define
BINARY_AND
64
#define
BINARY_XOR
65
#define
BINARY_OR
66
#define
INPLACE_POWER
67
#define
GET_ITER
68
#define
PRINT_EXPR
70
#define
PRINT_ITEM
71
#define
PRINT_NEWLINE
72
#define
PRINT_ITEM_TO
73
#define
PRINT_NEWLINE_TO
74
#define
INPLACE_LSHIFT
75
#define
INPLACE_RSHIFT
76
#define
INPLACE_AND
77
#define
INPLACE_XOR
78
#define
INPLACE_OR
79
#define
BREAK_LOOP
80
#define
WITH_CLEANUP
81
#define
LOAD_LOCALS
82
#define
RETURN_VALUE
83
#define
IMPORT_STAR
84
#define
EXEC_STMT
85
#define
YIELD_VALUE
86
#define
POP_BLOCK
87
#define
END_FINALLY
88
#define
BUILD_CLASS
89
#define
HAVE_ARGUMENT
90
/* Opcodes from here have an argument: */
#define
STORE_NAME
90
/* Index in name list */
#define
DELETE_NAME
91
/* "" */
#define
UNPACK_SEQUENCE
92
/* Number of sequence items */
#define
FOR_ITER
93
#define
LIST_APPEND
94
#define
STORE_ATTR
95
/* Index in name list */
#define
DELETE_ATTR
96
/* "" */
#define
STORE_GLOBAL
97
/* "" */
#define
DELETE_GLOBAL
98
/* "" */
#define
DUP_TOPX
99
/* number of items to duplicate */
#define
LOAD_CONST
100
/* Index in const list */
#define
LOAD_NAME
101
/* Index in name list */
#define
BUILD_TUPLE
102
/* Number of tuple items */
#define
BUILD_LIST
103
/* Number of list items */
#define
BUILD_SET
104
/* Number of set items */
#define
BUILD_MAP
105
/* Always zero for now */
#define
LOAD_ATTR
106
/* Index in name list */
#define
COMPARE_OP
107
/* Comparison operator */
#define
IMPORT_NAME
108
/* Index in name list */
#define
IMPORT_FROM
109
/* Index in name list */
#define
JUMP_FORWARD
110
/* Number of bytes to skip */
#define
JUMP_IF_FALSE_OR_POP
111
/* Target byte offset from beginning
of code */
#define
JUMP_IF_TRUE_OR_POP
112
/* "" */
#define
JUMP_ABSOLUTE
113
/* "" */
#define
POP_JUMP_IF_FALSE
114
/* "" */
#define
POP_JUMP_IF_TRUE
115
/* "" */
#define
LOAD_GLOBAL
116
/* Index in name list */
#define
CONTINUE_LOOP
119
/* Start of loop (absolute) */
#define
SETUP_LOOP
120
/* Target address (relative) */
#define
SETUP_EXCEPT
121
/* "" */
#define
SETUP_FINALLY
122
/* "" */
#define
LOAD_FAST
124
/* Local variable number */
#define
STORE_FAST
125
/* Local variable number */
#define
DELETE_FAST
126
/* Local variable number */
#define
RAISE_VARARGS
130
/* Number of raise arguments (1, 2 or 3) */
/* CALL_FUNCTION_XXX opcodes defined below depend on this definition */
#define
CALL_FUNCTION
131
/* #args + (#kwargs<<8) */
#define
MAKE_FUNCTION
132
/* #defaults */
#define
BUILD_SLICE
133
/* Number of items */
#define
MAKE_CLOSURE
134
/* #free vars */
#define
LOAD_CLOSURE
135
/* Load free variable from closure */
#define
LOAD_DEREF
136
/* Load and dereference from closure cell */
#define
STORE_DEREF
137
/* Store into cell */
/* The next 3 opcodes must be contiguous and satisfy
(CALL_FUNCTION_VAR - CALL_FUNCTION) & 3 == 1 */
#define
CALL_FUNCTION_VAR
140
/* #args + (#kwargs<<8) */
#define
CALL_FUNCTION_KW
141
/* #args + (#kwargs<<8) */
#define
CALL_FUNCTION_VAR_KW
142
/* #args + (#kwargs<<8) */
#define
SETUP_WITH
143
/* Support for opargs more than 16 bits long */
#define
EXTENDED_ARG
145
#define
SET_ADD
146
#define
MAP_ADD
147
enum
cmp_op
{
PyCmp_LT
=
Py_LT
,
PyCmp_LE
=
Py_LE
,
PyCmp_EQ
=
Py_EQ
,
PyCmp_NE
=
Py_NE
,
PyCmp_GT
=
Py_GT
,
PyCmp_GE
=
Py_GE
,
PyCmp_IN
,
PyCmp_NOT_IN
,
PyCmp_IS
,
PyCmp_IS_NOT
,
PyCmp_EXC_MATCH
,
PyCmp_BAD
};
#define
HAS_ARG
(
op
) ((op) >= HAVE_ARGUMENT)
#ifdef
__cplusplus
}
#endif
#endif
/* !Py_OPCODE_H */
Back
|
FazBrowse Home
|
New Git URL