mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 07:31:38 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			131 lines
		
	
	
	
		
			4.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			131 lines
		
	
	
	
		
			4.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* Auto-generated by Tools/scripts/generate_opcode_h.py */
 | 
						|
#ifndef Py_OPCODE_H
 | 
						|
#define Py_OPCODE_H
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif
 | 
						|
 | 
						|
 | 
						|
    /* Instruction opcodes for compiled code */
 | 
						|
#define POP_TOP             	1  
 | 
						|
#define ROT_TWO             	2  
 | 
						|
#define ROT_THREE           	3  
 | 
						|
#define DUP_TOP             	4  
 | 
						|
#define DUP_TOP_TWO         	5  
 | 
						|
#define NOP                 	9  
 | 
						|
#define UNARY_POSITIVE      	10 
 | 
						|
#define UNARY_NEGATIVE      	11 
 | 
						|
#define UNARY_NOT           	12 
 | 
						|
#define UNARY_INVERT        	15 
 | 
						|
#define BINARY_MATRIX_MULTIPLY	16 
 | 
						|
#define INPLACE_MATRIX_MULTIPLY	17 
 | 
						|
#define BINARY_POWER        	19 
 | 
						|
#define BINARY_MULTIPLY     	20 
 | 
						|
#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 STORE_MAP           	54 
 | 
						|
#define INPLACE_ADD         	55 
 | 
						|
#define INPLACE_SUBTRACT    	56 
 | 
						|
#define INPLACE_MULTIPLY    	57 
 | 
						|
#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 LOAD_BUILD_CLASS    	71 
 | 
						|
#define YIELD_FROM          	72 
 | 
						|
#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 RETURN_VALUE        	83 
 | 
						|
#define IMPORT_STAR         	84 
 | 
						|
#define YIELD_VALUE         	86 
 | 
						|
#define POP_BLOCK           	87 
 | 
						|
#define END_FINALLY         	88 
 | 
						|
#define POP_EXCEPT          	89 
 | 
						|
#define HAVE_ARGUMENT       	90 
 | 
						|
#define STORE_NAME          	90 
 | 
						|
#define DELETE_NAME         	91 
 | 
						|
#define UNPACK_SEQUENCE     	92 
 | 
						|
#define FOR_ITER            	93 
 | 
						|
#define UNPACK_EX           	94 
 | 
						|
#define STORE_ATTR          	95 
 | 
						|
#define DELETE_ATTR         	96 
 | 
						|
#define STORE_GLOBAL        	97 
 | 
						|
#define DELETE_GLOBAL       	98 
 | 
						|
#define LOAD_CONST          	100
 | 
						|
#define LOAD_NAME           	101
 | 
						|
#define BUILD_TUPLE         	102
 | 
						|
#define BUILD_LIST          	103
 | 
						|
#define BUILD_SET           	104
 | 
						|
#define BUILD_MAP           	105
 | 
						|
#define LOAD_ATTR           	106
 | 
						|
#define COMPARE_OP          	107
 | 
						|
#define IMPORT_NAME         	108
 | 
						|
#define IMPORT_FROM         	109
 | 
						|
#define JUMP_FORWARD        	110
 | 
						|
#define JUMP_IF_FALSE_OR_POP	111
 | 
						|
#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
 | 
						|
#define CONTINUE_LOOP       	119
 | 
						|
#define SETUP_LOOP          	120
 | 
						|
#define SETUP_EXCEPT        	121
 | 
						|
#define SETUP_FINALLY       	122
 | 
						|
#define LOAD_FAST           	124
 | 
						|
#define STORE_FAST          	125
 | 
						|
#define DELETE_FAST         	126
 | 
						|
#define RAISE_VARARGS       	130
 | 
						|
#define CALL_FUNCTION       	131
 | 
						|
#define MAKE_FUNCTION       	132
 | 
						|
#define BUILD_SLICE         	133
 | 
						|
#define MAKE_CLOSURE        	134
 | 
						|
#define LOAD_CLOSURE        	135
 | 
						|
#define LOAD_DEREF          	136
 | 
						|
#define STORE_DEREF         	137
 | 
						|
#define DELETE_DEREF        	138
 | 
						|
#define CALL_FUNCTION_VAR   	140
 | 
						|
#define CALL_FUNCTION_KW    	141
 | 
						|
#define CALL_FUNCTION_VAR_KW	142
 | 
						|
#define SETUP_WITH          	143
 | 
						|
#define EXTENDED_ARG        	144
 | 
						|
#define LIST_APPEND         	145
 | 
						|
#define SET_ADD             	146
 | 
						|
#define MAP_ADD             	147
 | 
						|
#define LOAD_CLASSDEREF     	148
 | 
						|
 | 
						|
/* EXCEPT_HANDLER is a special, implicit block type which is created when
 | 
						|
   entering an except handler. It is not an opcode but we define it here
 | 
						|
   as we want it to be available to both frameobject.c and ceval.c, while
 | 
						|
   remaining private.*/
 | 
						|
#define EXCEPT_HANDLER 257
 | 
						|
 | 
						|
 | 
						|
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 */
 |