Python/opcode

Search:
Group by:
Source   Edit  

Types

CmpOp {.pure.} = enum
  Lt, Le, Eq, Ne, Gt, Ge, In, NotIn, Is, IsNot, ExcpMatch
Source   Edit  
OpCode {.pure.} = enum
  NULLCODE, POP_TOP, ROT_TWO, ROT_THREE, DUP_TOP, DUP_TOP_TWO, ROT_FOUR, NOP,
  FORMAT_SIMPLE, FORMAT_WITH_SPEC, UNARY_POSITIVE, UNARY_NEGATIVE, UNARY_NOT,
  UNARY_INVERT, BINARY_MATRIX_MULTIPLY, INPLACE_MATRIX_MULTIPLY, BINARY_POWER,
  BINARY_MULTIPLY, BINARY_MODULO, BINARY_ADD, BINARY_SUBTRACT, BINARY_SUBSCR,
  BINARY_FLOOR_DIVIDE, BINARY_TRUE_DIVIDE, INPLACE_FLOOR_DIVIDE,
  INPLACE_TRUE_DIVIDE, GET_AITER, GET_ANEXT, BEFORE_ASYNC_WITH, BEGIN_FINALLY,
  END_ASYNC_FOR, INPLACE_ADD, INPLACE_SUBTRACT, INPLACE_MULTIPLY,
  INPLACE_MODULO, STORE_SUBSCR, DELETE_SUBSCR, BINARY_LSHIFT, BINARY_RSHIFT,
  BINARY_AND, BINARY_XOR, BINARY_OR, INPLACE_POWER, GET_ITER,
  GET_YIELD_FROM_ITER, PRINT_EXPR, LOAD_BUILD_CLASS, YIELD_FROM, GET_AWAITABLE,
  INPLACE_LSHIFT, INPLACE_RSHIFT, INPLACE_AND, INPLACE_XOR, INPLACE_OR,
  WITH_EXCEPT_START, WITH_CLEANUP_START, WITH_CLEANUP_FINISH, RETURN_VALUE,
  IMPORT_STAR, SETUP_ANNOTATIONS, YIELD_VALUE, POP_BLOCK, END_FINALLY,
  POP_EXCEPT, HAVE_ARGUMENT, STORE_NAME, DELETE_NAME, BUILD_INTERPOLATION,
  CONVERT_VALUE, UNPACK_SEQUENCE, FOR_ITER, UNPACK_EX, STORE_ATTR, DELETE_ATTR,
  STORE_GLOBAL, DELETE_GLOBAL, LOAD_CONST, LOAD_NAME, BUILD_TUPLE, BUILD_LIST,
  BUILD_SET, BUILD_MAP, LOAD_ATTR, COMPARE_OP, IMPORT_NAME, IMPORT_FROM,
  JUMP_FORWARD, JUMP_IF_FALSE_OR_POP, JUMP_IF_TRUE_OR_POP, JUMP_ABSOLUTE,
  LOAD_FAST_AND_CLEAR, POP_JUMP_IF_FALSE, POP_JUMP_IF_TRUE, LOAD_GLOBAL,
  SETUP_FINALLY, LOAD_FAST, STORE_FAST, DELETE_FAST, LOAD_SPECIAL,
  RAISE_VARARGS, CALL_FUNCTION, MAKE_FUNCTION, BUILD_SLICE, LOAD_CLOSURE,
  LOAD_DEREF, STORE_DEREF, DELETE_DEREF, CALL_FUNCTION_KW, CALL_FUNCTION_EX,
  SETUP_CLEANUP, SETUP_WITH, RERAISE, EXTENDED_ARG, LIST_APPEND, SET_ADD,
  MAP_ADD, LOAD_CLASSDEREF, BUILD_LIST_UNPACK, BUILD_MAP_UNPACK,
  BUILD_MAP_UNPACK_WITH_CALL, BUILD_TUPLE_UNPACK, STORE_FAST_STORE_FAST,
  STORE_FAST_LOAD_FAST, BUILD_SET_UNPACK, SETUP_ASYNC_WITH, FORMAT_VALUE, COPY,
  SWAP, BUILD_CONST_KEY_MAP, BUILD_STRING, BUILD_TUPLE_UNPACK_WITH_CALL,
  LOAD_METHOD, CALL_METHOD, CALL_FINALLY, POP_FINALLY, EXCEPT_HANDLER
Source   Edit  

Consts

hasArgSet = {OpCode.STORE_NAME, OpCode.DELETE_NAME, OpCode.BUILD_INTERPOLATION,
             OpCode.CONVERT_VALUE, OpCode.UNPACK_SEQUENCE, OpCode.FOR_ITER,
             OpCode.UNPACK_EX, OpCode.STORE_ATTR, OpCode.DELETE_ATTR,
             OpCode.STORE_GLOBAL, OpCode.DELETE_GLOBAL, OpCode.LOAD_CONST,
             OpCode.LOAD_NAME, OpCode.BUILD_TUPLE, OpCode.BUILD_LIST,
             OpCode.BUILD_SET, OpCode.BUILD_MAP, OpCode.LOAD_ATTR,
             OpCode.COMPARE_OP, OpCode.IMPORT_NAME, OpCode.IMPORT_FROM,
             OpCode.JUMP_FORWARD, OpCode.JUMP_IF_FALSE_OR_POP,
             OpCode.JUMP_IF_TRUE_OR_POP, OpCode.JUMP_ABSOLUTE,
             OpCode.LOAD_FAST_AND_CLEAR, OpCode.POP_JUMP_IF_FALSE,
             OpCode.POP_JUMP_IF_TRUE, OpCode.LOAD_GLOBAL, OpCode.SETUP_FINALLY,
             OpCode.LOAD_FAST, OpCode.STORE_FAST, OpCode.DELETE_FAST,
             OpCode.LOAD_SPECIAL, OpCode.RAISE_VARARGS, OpCode.CALL_FUNCTION,
             OpCode.MAKE_FUNCTION, OpCode.BUILD_SLICE, OpCode.LOAD_CLOSURE,
             OpCode.LOAD_DEREF, OpCode.STORE_DEREF, OpCode.DELETE_DEREF,
             OpCode.CALL_FUNCTION_KW, OpCode.CALL_FUNCTION_EX,
             OpCode.SETUP_CLEANUP, OpCode.SETUP_WITH, OpCode.RERAISE,
             OpCode.EXTENDED_ARG, OpCode.LIST_APPEND, OpCode.SET_ADD,
             OpCode.MAP_ADD, OpCode.LOAD_CLASSDEREF, OpCode.BUILD_LIST_UNPACK,
             OpCode.BUILD_MAP_UNPACK, OpCode.BUILD_MAP_UNPACK_WITH_CALL,
             OpCode.BUILD_TUPLE_UNPACK, OpCode.STORE_FAST_STORE_FAST,
             OpCode.STORE_FAST_LOAD_FAST, OpCode.BUILD_SET_UNPACK,
             OpCode.SETUP_ASYNC_WITH, OpCode.FORMAT_VALUE, OpCode.COPY,
             OpCode.SWAP, OpCode.BUILD_CONST_KEY_MAP, OpCode.BUILD_STRING,
             OpCode.BUILD_TUPLE_UNPACK_WITH_CALL, OpCode.LOAD_METHOD,
             OpCode.CALL_METHOD, OpCode.CALL_FINALLY, OpCode.POP_FINALLY,
             OpCode.EXCEPT_HANDLER}
Source   Edit  
jumpSet = {OpCode.JUMP_FORWARD, OpCode.JUMP_IF_FALSE_OR_POP,
           OpCode.JUMP_IF_TRUE_OR_POP, OpCode.JUMP_ABSOLUTE,
           OpCode.POP_JUMP_IF_FALSE, OpCode.POP_JUMP_IF_TRUE, OpCode.FOR_ITER,
           OpCode.SETUP_FINALLY, OpCode.SETUP_WITH}
Source   Edit  

Procs

proc hasArg(opCode: OpCode): bool {....raises: [], tags: [], forbids: [].}
Source   Edit