this repo has no description
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.remove_op("BREAK_LOOP")
7opcode.remove_op("CONTINUE_LOOP")
8opcode.remove_op("SETUP_EXCEPT")
9opcode.remove_op("SETUP_LOOP")
10opcode.def_op("ROT_FOUR", 6)
11opcode.def_op("END_ASYNC_FOR", 54)
12opcode.def_op("BEGIN_FINALLY", 53)
13opcode.jrel_op("CALL_FINALLY", 162)
14opcode.def_op("POP_FINALLY", 163)
15
16opcode.stack_effects.update(
17 # New opcodes
18 ROT_FOUR=0,
19 END_ASYNC_FOR=-7,
20 POP_FINALLY=-6,
21 CALL_FINALLY=lambda oparg, jmp: 1 if jmp else 0,
22 BEGIN_FINALLY=6,
23)