this repo has no description
1# Copyright (c) Facebook, Inc. and its affiliates. (http://www.facebook.com)
2from .opcode38cinder import opcode as opcode38cinder
3from .opcodebase import Opcode
4
5opcode: Opcode = opcode38cinder.copy()
6opcode.def_op("INVOKE_METHOD", 164)
7opcode.hasconst.add(164)
8opcode.def_op("LOAD_FIELD", 165)
9opcode.hasconst.add(165)
10opcode.def_op("STORE_FIELD", 166)
11opcode.hasconst.add(166)
12opcode.def_op("SEQUENCE_REPEAT", 167)
13opcode.def_op("CAST", 170)
14opcode.hasconst.add(170)
15opcode.def_op("LOAD_LOCAL", 171)
16opcode.hasconst.add(171)
17opcode.def_op("STORE_LOCAL", 172)
18opcode.hasconst.add(172)
19opcode.def_op("INT_LOAD_CONST_OLD", 173)
20opcode.def_op("PRIMITIVE_BOX", 174)
21opcode.jabs_op("POP_JUMP_IF_ZERO", 175)
22opcode.jabs_op("POP_JUMP_IF_NONZERO", 176)
23opcode.def_op("PRIMITIVE_UNBOX", 177)
24opcode.def_op("PRIMITIVE_BINARY_OP", 178)
25opcode.def_op("PRIMITIVE_UNARY_OP", 179)
26opcode.def_op("INT_COMPARE_OP", 180)
27opcode.def_op("LOAD_ITERABLE_ARG", 181)
28opcode.def_op("LOAD_MAPPING_ARG", 182)
29opcode.def_op("INVOKE_FUNCTION", 183)
30opcode.hasconst.add(183)
31opcode.jabs_op("JUMP_IF_ZERO_OR_POP", 184)
32opcode.jabs_op("JUMP_IF_NONZERO_OR_POP", 185)
33opcode.def_op("FAST_LEN", 186)
34opcode.def_op("CONVERT_PRIMITIVE", 187)
35opcode.def_op("CHECK_ARGS", 188)
36opcode.hasconst.add(188)
37opcode.def_op("BUILD_CHECKED_MAP", 191)
38opcode.hasconst.add(191)
39opcode.def_op("SEQUENCE_GET", 192)
40opcode.def_op("SEQUENCE_SET", 193)
41opcode.def_op("LIST_DEL", 194)
42opcode.def_op("REFINE_TYPE", 195)
43opcode.hasconst.add(195)
44opcode.def_op("PRIMITIVE_LOAD_CONST", 196)
45opcode.hasconst.add(196)
46opcode.def_op("RETURN_INT", 197)
47
48opcode.stack_effects.update( # noqa: C408
49 # Static opcodes
50 BUILD_CHECKED_MAP=lambda oparg, jmp: 1 - 2 * oparg[1],
51 CAST=0,
52 CHECK_ARGS=0,
53 CONVERT_PRIMITIVE=0,
54 FAST_LEN=0,
55 PRIMITIVE_BINARY_OP=lambda oparg, jmp: -1,
56 PRIMITIVE_BOX=0,
57 INT_COMPARE_OP=lambda oparg, jmp: -1,
58 INT_DUP_TOP_TWO=2,
59 PRIMITIVE_LOAD_CONST=1,
60 INT_LOAD_CONST_OLD=1,
61 PRIMITIVE_UNARY_OP=lambda oparg, jmp: 0,
62 PRIMITIVE_UNBOX=0,
63 INVOKE_FUNCTION=lambda oparg, jmp=0: (-oparg[1]) + 1,
64 INVOKE_METHOD=lambda oparg, jmp: -oparg[1],
65 JUMP_IF_NONZERO_OR_POP=lambda oparg, jmp=0: 0 if jmp else -1,
66 JUMP_IF_ZERO_OR_POP=lambda oparg, jmp=0: 0 if jmp else -1,
67 LIST_DEL=-2,
68 SEQUENCE_GET=-1,
69 SEQUENCE_SET=-3,
70 LOAD_FIELD=0,
71 LOAD_ITERABLE_ARG=1,
72 LOAD_LOCAL=1,
73 LOAD_MAPPING_ARG=lambda oparg, jmp=0: -1 if oparg == 2 else 1,
74 POP_JUMP_IF_NONZERO=-1,
75 POP_JUMP_IF_ZERO=-1,
76 STORE_FIELD=-2,
77 STORE_LOCAL=-1,
78 SEQUENCE_REPEAT=-1,
79 REFINE_TYPE=0,
80 RETURN_INT=-1,
81)