FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
python/Include/opcode.h at master · fruitegg/python · GitHub
fruitegg
/
python
Public
forked from
glix/python
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
python
/
Include
/
opcode.h
Copy path
More file actions
More file actions
Latest commit
History
History
History
153 lines (125 loc) · 4.24 KB
Breadcrumbs
python
/
Include
/
opcode.h
Copy path
File metadata and controls
153 lines (125 loc) · 4.24 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
#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
STORE_SLICE
40
/* Also uses 41-43 */
#define
DELETE_SLICE
50
/* Also uses 51-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_MAP
104
/* Always zero for now */
#define
LOAD_ATTR
105
/* Index in name list */
#define
COMPARE_OP
106
/* Comparison operator */
#define
IMPORT_NAME
107
/* Index in name list */
#define
IMPORT_FROM
108
/* Index in name list */
#define
JUMP_FORWARD
110
/* Number of bytes to skip */
#define
JUMP_IF_FALSE
111
/* "" */
#define
JUMP_IF_TRUE
112
/* "" */
#define
JUMP_ABSOLUTE
113
/* Target byte offset from beginning of code */
#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) */
/* Support for opargs more than 16 bits long */
#define
EXTENDED_ARG
143
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