library/compiler/opcode38static.py (77 lines of code) (raw):

# Copyright (c) Facebook, Inc. and its affiliates. (http://www.facebook.com) from .opcode38cinder import opcode as opcode38cinder from .opcodebase import Opcode opcode: Opcode = opcode38cinder.copy() opcode.def_op("INVOKE_METHOD", 164) opcode.hasconst.add(164) opcode.def_op("LOAD_FIELD", 165) opcode.hasconst.add(165) opcode.def_op("STORE_FIELD", 166) opcode.hasconst.add(166) opcode.def_op("SEQUENCE_REPEAT", 167) opcode.def_op("CAST", 170) opcode.hasconst.add(170) opcode.def_op("LOAD_LOCAL", 171) opcode.hasconst.add(171) opcode.def_op("STORE_LOCAL", 172) opcode.hasconst.add(172) opcode.def_op("INT_LOAD_CONST_OLD", 173) opcode.def_op("PRIMITIVE_BOX", 174) opcode.jabs_op("POP_JUMP_IF_ZERO", 175) opcode.jabs_op("POP_JUMP_IF_NONZERO", 176) opcode.def_op("PRIMITIVE_UNBOX", 177) opcode.def_op("PRIMITIVE_BINARY_OP", 178) opcode.def_op("PRIMITIVE_UNARY_OP", 179) opcode.def_op("INT_COMPARE_OP", 180) opcode.def_op("LOAD_ITERABLE_ARG", 181) opcode.def_op("LOAD_MAPPING_ARG", 182) opcode.def_op("INVOKE_FUNCTION", 183) opcode.hasconst.add(183) opcode.jabs_op("JUMP_IF_ZERO_OR_POP", 184) opcode.jabs_op("JUMP_IF_NONZERO_OR_POP", 185) opcode.def_op("FAST_LEN", 186) opcode.def_op("CONVERT_PRIMITIVE", 187) opcode.def_op("CHECK_ARGS", 188) opcode.hasconst.add(188) opcode.def_op("BUILD_CHECKED_MAP", 191) opcode.hasconst.add(191) opcode.def_op("SEQUENCE_GET", 192) opcode.def_op("SEQUENCE_SET", 193) opcode.def_op("LIST_DEL", 194) opcode.def_op("REFINE_TYPE", 195) opcode.hasconst.add(195) opcode.def_op("PRIMITIVE_LOAD_CONST", 196) opcode.hasconst.add(196) opcode.def_op("RETURN_INT", 197) opcode.stack_effects.update( # noqa: C408 # Static opcodes BUILD_CHECKED_MAP=lambda oparg, jmp: 1 - 2 * oparg[1], CAST=0, CHECK_ARGS=0, CONVERT_PRIMITIVE=0, FAST_LEN=0, PRIMITIVE_BINARY_OP=lambda oparg, jmp: -1, PRIMITIVE_BOX=0, INT_COMPARE_OP=lambda oparg, jmp: -1, INT_DUP_TOP_TWO=2, PRIMITIVE_LOAD_CONST=1, INT_LOAD_CONST_OLD=1, PRIMITIVE_UNARY_OP=lambda oparg, jmp: 0, PRIMITIVE_UNBOX=0, INVOKE_FUNCTION=lambda oparg, jmp=0: (-oparg[1]) + 1, INVOKE_METHOD=lambda oparg, jmp: -oparg[1], JUMP_IF_NONZERO_OR_POP=lambda oparg, jmp=0: 0 if jmp else -1, JUMP_IF_ZERO_OR_POP=lambda oparg, jmp=0: 0 if jmp else -1, LIST_DEL=-2, SEQUENCE_GET=-1, SEQUENCE_SET=-3, LOAD_FIELD=0, LOAD_ITERABLE_ARG=1, LOAD_LOCAL=1, LOAD_MAPPING_ARG=lambda oparg, jmp=0: -1 if oparg == 2 else 1, POP_JUMP_IF_NONZERO=-1, POP_JUMP_IF_ZERO=-1, STORE_FIELD=-2, STORE_LOCAL=-1, SEQUENCE_REPEAT=-1, REFINE_TYPE=0, RETURN_INT=-1, )