From e117c0283705943189e6b1aef668a1f68f3f00a4 Mon Sep 17 00:00:00 2001 From: Mark Shannon Date: Thu, 10 Jun 2021 08:46:01 +0100 Subject: bpo-44337: Port LOAD_ATTR to PEP 659 adaptive interpreter (GH-26595) * Specialize LOAD_ATTR with LOAD_ATTR_SLOT and LOAD_ATTR_SPLIT_KEYS * Move dict-common.h to internal/pycore_dict.h * Add LOAD_ATTR_WITH_HINT specialized opcode. * Quicken in function if loopy * Specialize LOAD_ATTR for module attributes. * Add specialization stats --- Python/makeopcodetargets.py | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'Python/makeopcodetargets.py') diff --git a/Python/makeopcodetargets.py b/Python/makeopcodetargets.py index 023c9e6c9f..189d72a8c8 100755 --- a/Python/makeopcodetargets.py +++ b/Python/makeopcodetargets.py @@ -34,6 +34,11 @@ def write_contents(f): targets = ['_unknown_opcode'] * 256 for opname, op in opcode.opmap.items(): targets[op] = "TARGET_%s" % opname + next_op = 1 + for opname in opcode._specialized_instructions: + while targets[next_op] != '_unknown_opcode': + next_op += 1 + targets[next_op] = "TARGET_%s" % opname f.write("static void *opcode_targets[256] = {\n") f.write(",\n".join([" &&%s" % s for s in targets])) f.write("\n};\n") -- cgit v1.2.1