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,
  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_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, 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, POP_JUMP_IF_FALSE, POP_JUMP_IF_TRUE,
  LOAD_GLOBAL, SETUP_FINALLY, LOAD_FAST, STORE_FAST, DELETE_FAST, RAISE_VARARGS,
  CALL_FUNCTION, MAKE_FUNCTION, BUILD_SLICE, LOAD_CLOSURE, LOAD_DEREF,
  STORE_DEREF, DELETE_DEREF, CALL_FUNCTION_KW, CALL_FUNCTION_EX, SETUP_WITH,
  EXTENDED_ARG, LIST_APPEND, SET_ADD, MAP_ADD, LOAD_CLASSDEREF,
  BUILD_LIST_UNPACK, BUILD_MAP_UNPACK, BUILD_MAP_UNPACK_WITH_CALL,
  BUILD_TUPLE_UNPACK, BUILD_SET_UNPACK, SETUP_ASYNC_WITH, FORMAT_VALUE,
  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.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.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.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_WITH, 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.BUILD_SET_UNPACK,
             OpCode.SETUP_ASYNC_WITH, OpCode.FORMAT_VALUE,
             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}
Source   Edit  

Procs

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