Orbits  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Pages
Macros | Enumerations
opcode.h File Reference

Go to the source code of this file.

Macros

#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
 
#define STORE_SLICE   40
 
#define DELETE_SLICE   50
 
#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
 
#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) */
 
#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 */
 
#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
 
#define EXTENDED_ARG   145
 
#define SET_ADD   146
 
#define MAP_ADD   147
 
#define HAS_ARG(op)   ((op) >= HAVE_ARGUMENT)
 

Enumerations

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
}
 

Macro Definition Documentation

#define BINARY_ADD   23
#define BINARY_AND   64
#define BINARY_DIVIDE   21
#define BINARY_FLOOR_DIVIDE   26
#define BINARY_LSHIFT   62
#define BINARY_MODULO   22
#define BINARY_MULTIPLY   20
#define BINARY_OR   66
#define BINARY_POWER   19
#define BINARY_RSHIFT   63
#define BINARY_SUBSCR   25
#define BINARY_SUBTRACT   24
#define BINARY_TRUE_DIVIDE   27
#define BINARY_XOR   65
#define BREAK_LOOP   80
#define BUILD_CLASS   89
#define BUILD_LIST   103 /* Number of list items */
#define BUILD_MAP   105 /* Always zero for now */
#define BUILD_SET   104 /* Number of set items */
#define BUILD_SLICE   133 /* Number of items */
#define BUILD_TUPLE   102 /* Number of tuple items */
#define CALL_FUNCTION   131 /* #args + (#kwargs<<8) */
#define CALL_FUNCTION_KW   141 /* #args + (#kwargs<<8) */
#define CALL_FUNCTION_VAR   140 /* #args + (#kwargs<<8) */
#define CALL_FUNCTION_VAR_KW   142 /* #args + (#kwargs<<8) */
#define COMPARE_OP   107 /* Comparison operator */
#define CONTINUE_LOOP   119 /* Start of loop (absolute) */
#define DELETE_ATTR   96 /* "" */
#define DELETE_FAST   126 /* Local variable number */
#define DELETE_GLOBAL   98 /* "" */
#define DELETE_NAME   91 /* "" */
#define DELETE_SLICE   50
#define DELETE_SUBSCR   61
#define DUP_TOP   4
#define DUP_TOPX   99 /* number of items to duplicate */
#define END_FINALLY   88
#define EXEC_STMT   85
#define EXTENDED_ARG   145
#define FOR_ITER   93
#define GET_ITER   68
#define HAS_ARG (   op)    ((op) >= HAVE_ARGUMENT)
#define HAVE_ARGUMENT   90 /* Opcodes from here have an argument: */
#define IMPORT_FROM   109 /* Index in name list */
#define IMPORT_NAME   108 /* Index in name list */
#define IMPORT_STAR   84
#define INPLACE_ADD   55
#define INPLACE_AND   77
#define INPLACE_DIVIDE   58
#define INPLACE_FLOOR_DIVIDE   28
#define INPLACE_LSHIFT   75
#define INPLACE_MODULO   59
#define INPLACE_MULTIPLY   57
#define INPLACE_OR   79
#define INPLACE_POWER   67
#define INPLACE_RSHIFT   76
#define INPLACE_SUBTRACT   56
#define INPLACE_TRUE_DIVIDE   29
#define INPLACE_XOR   78
#define JUMP_ABSOLUTE   113 /* "" */
#define JUMP_FORWARD   110 /* Number of bytes to skip */
#define JUMP_IF_FALSE_OR_POP
Value:
111 /* Target byte offset from beginning
of code */
#define JUMP_IF_TRUE_OR_POP   112 /* "" */
#define LIST_APPEND   94
#define LOAD_ATTR   106 /* Index in name list */
#define LOAD_CLOSURE   135 /* Load free variable from closure */
#define LOAD_CONST   100 /* Index in const list */
#define LOAD_DEREF   136 /* Load and dereference from closure cell */
#define LOAD_FAST   124 /* Local variable number */
#define LOAD_GLOBAL   116 /* Index in name list */
#define LOAD_LOCALS   82
#define LOAD_NAME   101 /* Index in name list */
#define MAKE_CLOSURE   134 /* #free vars */
#define MAKE_FUNCTION   132 /* #defaults */
#define MAP_ADD   147
#define NOP   9
#define POP_BLOCK   87
#define POP_JUMP_IF_FALSE   114 /* "" */
#define POP_JUMP_IF_TRUE   115 /* "" */
#define POP_TOP   1
#define PRINT_EXPR   70
#define PRINT_ITEM   71
#define PRINT_ITEM_TO   73
#define PRINT_NEWLINE   72
#define PRINT_NEWLINE_TO   74
#define RAISE_VARARGS   130 /* Number of raise arguments (1, 2 or 3) */
#define RETURN_VALUE   83
#define ROT_FOUR   5
#define ROT_THREE   3
#define ROT_TWO   2
#define SET_ADD   146
#define SETUP_EXCEPT   121 /* "" */
#define SETUP_FINALLY   122 /* "" */
#define SETUP_LOOP   120 /* Target address (relative) */
#define SETUP_WITH   143
#define SLICE   30
#define STOP_CODE   0
#define STORE_ATTR   95 /* Index in name list */
#define STORE_DEREF   137 /* Store into cell */
#define STORE_FAST   125 /* Local variable number */
#define STORE_GLOBAL   97 /* "" */
#define STORE_MAP   54
#define STORE_NAME   90 /* Index in name list */
#define STORE_SLICE   40
#define STORE_SUBSCR   60
#define UNARY_CONVERT   13
#define UNARY_INVERT   15
#define UNARY_NEGATIVE   11
#define UNARY_NOT   12
#define UNARY_POSITIVE   10
#define UNPACK_SEQUENCE   92 /* Number of sequence items */
#define WITH_CLEANUP   81
#define YIELD_VALUE   86

Enumeration Type Documentation

enum cmp_op
Enumerator
PyCmp_LT 
PyCmp_LE 
PyCmp_EQ 
PyCmp_NE 
PyCmp_GT 
PyCmp_GE 
PyCmp_IN 
PyCmp_NOT_IN 
PyCmp_IS 
PyCmp_IS_NOT 
PyCmp_EXC_MATCH 
PyCmp_BAD 

Copyright 2014 Google Inc. All rights reserved.