this repo has no description
at trunk 66 lines 2.0 kB view raw
1# Copyright (c) Facebook, Inc. and its affiliates. (http://www.facebook.com) 2from .opcode37 import opcode as opcode37 3from .opcodebase import Opcode 4 5opcode: Opcode = opcode37.copy() 6opcode.def_op("INVOKE_METHOD", 162) 7opcode.hasconst.add(162) 8opcode.def_op("INVOKE_METHOD_CACHED", 163) 9opcode.def_op("LOAD_FIELD", 164) 10opcode.hasconst.add(164) 11opcode.def_op("STORE_FIELD", 165) 12opcode.hasconst.add(165) 13opcode.name_op("RAISE_IF_NONE", 166) 14opcode.def_op("CAST", 167) 15opcode.hasconst.add(167) 16opcode.def_op("LOAD_LOCAL", 168) 17opcode.hasconst.add(168) 18opcode.def_op("STORE_LOCAL", 169) 19opcode.hasconst.add(169) 20opcode.def_op("INT_LOAD_CONST", 170) 21opcode.def_op("INT_BOX", 171) 22opcode.def_op("CHECK_ARGS", 172) 23opcode.hasconst.add(172) 24opcode.jabs_op("POP_JUMP_IF_ZERO", 180) 25opcode.jabs_op("POP_JUMP_IF_NONZERO", 181) 26opcode.def_op("INT_UNBOX", 182) 27opcode.def_op("INT_BINARY_OP", 191) 28opcode.def_op("INT_UNARY_OP", 192) 29opcode.def_op("INT_COMPARE_OP", 193) 30opcode.def_op("LOAD_ITERABLE_ARG", 194) 31opcode.def_op("LOAD_MAPPING_ARG", 195) 32opcode.def_op("INVOKE_FUNCTION", 196) 33opcode.def_op("FAST_LEN", 197) 34opcode.def_op("CONVERT_PRIMITIVE", 198) 35# facebook begin t39538061 36opcode.jabs_op("JUMP_IF_ZERO_OR_POP", 184) 37opcode.jabs_op("JUMP_IF_NONZERO_OR_POP", 185) 38opcode.def_op("ARRAY_GET", 186) 39opcode.def_op("ARRAY_SET", 187) 40# facebook end t39538061 41 42opcode.stack_effects.update( 43 # Static opcodes 44 ARRAY_GET=-1, 45 ARRAY_SET=-3, 46 CAST=0, 47 CHECK_ARGS=0, 48 CONVERT_PRIMITIVE=0, 49 INT_BINARY_OP=lambda oparg, jmp: -1, 50 INT_BOX=0, 51 INT_COMPARE_OP=lambda oparg, jmp: -1, 52 INT_DUP_TOP_TWO=2, 53 INT_LOAD_CONST=1, 54 INT_UNARY_OP=lambda oparg, jmp: 0, 55 INT_UNBOX=0, 56 INVOKE_METHOD=lambda oparg, jmp: -oparg[1], 57 JUMP_IF_NONZERO_OR_POP=lambda oparg, jmp=0: 0 if jmp else -1, 58 JUMP_IF_ZERO_OR_POP=lambda oparg, jmp=0: 0 if jmp else -1, 59 LOAD_FIELD=0, 60 LOAD_LOCAL=1, 61 POP_JUMP_IF_NONZERO=-1, 62 POP_JUMP_IF_ZERO=-1, 63 RAISE_IF_NONE=0, 64 STORE_FIELD=-2, 65 STORE_LOCAL=-1, 66)