diff options
author | Guido van Rossum <guido@python.org> | 2022-11-06 17:40:47 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-06 17:40:47 (GMT) |
commit | 7dcd28eb41abeb29ddefd0a49fa9f7a9ebd61e16 (patch) | |
tree | 9d22898f492f9bdc544c1bed9a1d5e34b79924d3 /Python/generated_cases.c.h | |
parent | ede6cb26153f106a11a462614fdda12691fc6463 (diff) | |
download | cpython-7dcd28eb41abeb29ddefd0a49fa9f7a9ebd61e16.zip cpython-7dcd28eb41abeb29ddefd0a49fa9f7a9ebd61e16.tar.gz cpython-7dcd28eb41abeb29ddefd0a49fa9f7a9ebd61e16.tar.bz2 |
GH-98831: Implement super-instruction generation (#99084)
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Diffstat (limited to 'Python/generated_cases.c.h')
-rw-r--r-- | Python/generated_cases.c.h | 144 |
1 files changed, 82 insertions, 62 deletions
diff --git a/Python/generated_cases.c.h b/Python/generated_cases.c.h index c678de5..d83d683 100644 --- a/Python/generated_cases.c.h +++ b/Python/generated_cases.c.h @@ -57,68 +57,6 @@ DISPATCH(); } - TARGET(LOAD_FAST__LOAD_FAST) { - PyObject *value = GETLOCAL(oparg); - assert(value != NULL); - NEXTOPARG(); - next_instr++; - Py_INCREF(value); - PUSH(value); - value = GETLOCAL(oparg); - assert(value != NULL); - Py_INCREF(value); - PUSH(value); - DISPATCH(); - } - - TARGET(LOAD_FAST__LOAD_CONST) { - PyObject *value = GETLOCAL(oparg); - assert(value != NULL); - NEXTOPARG(); - next_instr++; - Py_INCREF(value); - PUSH(value); - value = GETITEM(consts, oparg); - Py_INCREF(value); - PUSH(value); - DISPATCH(); - } - - TARGET(STORE_FAST__LOAD_FAST) { - PyObject *value = POP(); - SETLOCAL(oparg, value); - NEXTOPARG(); - next_instr++; - value = GETLOCAL(oparg); - assert(value != NULL); - Py_INCREF(value); - PUSH(value); - DISPATCH(); - } - - TARGET(STORE_FAST__STORE_FAST) { - PyObject *value = POP(); - SETLOCAL(oparg, value); - NEXTOPARG(); - next_instr++; - value = POP(); - SETLOCAL(oparg, value); - DISPATCH(); - } - - TARGET(LOAD_CONST__LOAD_FAST) { - PyObject *value = GETITEM(consts, oparg); - NEXTOPARG(); - next_instr++; - Py_INCREF(value); - PUSH(value); - value = GETLOCAL(oparg); - assert(value != NULL); - Py_INCREF(value); - PUSH(value); - DISPATCH(); - } - TARGET(POP_TOP) { PyObject *value = POP(); Py_DECREF(value); @@ -3900,3 +3838,85 @@ TARGET(CACHE) { Py_UNREACHABLE(); } + + TARGET(LOAD_FAST__LOAD_FAST) { + { + PyObject *value = GETLOCAL(oparg); + assert(value != NULL); + Py_INCREF(value); + PUSH(value); + } + NEXTOPARG(); + next_instr++; + { + PyObject *value = GETLOCAL(oparg); + assert(value != NULL); + Py_INCREF(value); + PUSH(value); + } + DISPATCH(); + } + + TARGET(LOAD_FAST__LOAD_CONST) { + { + PyObject *value = GETLOCAL(oparg); + assert(value != NULL); + Py_INCREF(value); + PUSH(value); + } + NEXTOPARG(); + next_instr++; + { + PyObject *value = GETITEM(consts, oparg); + Py_INCREF(value); + PUSH(value); + } + DISPATCH(); + } + + TARGET(STORE_FAST__LOAD_FAST) { + { + PyObject *value = POP(); + SETLOCAL(oparg, value); + } + NEXTOPARG(); + next_instr++; + { + PyObject *value = GETLOCAL(oparg); + assert(value != NULL); + Py_INCREF(value); + PUSH(value); + } + DISPATCH(); + } + + TARGET(STORE_FAST__STORE_FAST) { + { + PyObject *value = POP(); + SETLOCAL(oparg, value); + } + NEXTOPARG(); + next_instr++; + { + PyObject *value = POP(); + SETLOCAL(oparg, value); + } + DISPATCH(); + } + + TARGET(LOAD_CONST__LOAD_FAST) { + { + PyObject *value = GETITEM(consts, oparg); + Py_INCREF(value); + PUSH(value); + } + NEXTOPARG(); + next_instr++; + { + PyObject *value = GETLOCAL(oparg); + assert(value != NULL); + Py_INCREF(value); + PUSH(value); + } + DISPATCH(); + } |