Back off of previous refactor a little bit

This commit is contained in:
rocky
2017-12-13 21:26:52 -05:00
parent 303e134359
commit 94a18c1a95
2 changed files with 26 additions and 12 deletions

View File

@@ -98,8 +98,7 @@ class Scanner2(Scanner):
# list of tokens/instructions
tokens = []
# "customize" is ny pretty much legacy.
# We still use it though to signal we have a PyPy program
# "customize" is in the process of going away here
customize = {}
if self.is_pypy:
@@ -246,6 +245,17 @@ class Scanner2(Scanner):
op_name = 'BUILD_MAP_n'
else:
op_name = '%s_%d' % (op_name, oparg)
customize[op_name] = oparg
elif self.is_pypy and op_name in frozenset(
"""LOOKUP_METHOD JUMP_IF_NOT_DEBUG SETUP_EXCEPT SETUP_FINALLY""".split()):
# The value in the dict is in special cases in semantic actions, such
# as CALL_FUNCTION. The value is not used in these cases, so we put
# in arbitrary value 0.
customize[op_name] = 0
elif op_name in """
CONTINUE_LOOP EXEC_STMT LOAD_LISTCOMP LOAD_SETCOMP
""".split():
customize[op_name] = 0
elif op == self.opc.JUMP_ABSOLUTE:
# Further classify JUMP_ABSOLUTE into backward jumps
# which are used in loops, and "CONTINUE" jumps which