GH-113710: Add a tier 2 peephole optimization pass. (GH-114487)

* Convert _LOAD_CONST to inline versions

* Remove PEP 523 checks
This commit is contained in:
Mark Shannon 2024-01-24 12:08:31 +00:00 committed by GitHub
parent 1e4f00ebd8
commit 384429d1c0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 66 additions and 6 deletions

View file

@ -588,6 +588,9 @@ top: // Jump here after _PUSH_FRAME or likely branches
ADD_TO_TRACE(uop, oparg, operand, target);
if (uop == _POP_FRAME) {
TRACE_STACK_POP();
/* Set the operand to the code object returned to,
* to assist optimization passes */
trace[trace_length-1].operand = (uintptr_t)code;
DPRINTF(2,
"Returning to %s (%s:%d) at byte offset %d\n",
PyUnicode_AsUTF8(code->co_qualname),
@ -629,6 +632,9 @@ top: // Jump here after _PUSH_FRAME or likely branches
instr += _PyOpcode_Caches[_PyOpcode_Deopt[opcode]] + 1;
TRACE_STACK_PUSH();
_Py_BloomFilter_Add(dependencies, new_code);
/* Set the operand to the callee's code object,
* to assist optimization passes */
trace[trace_length-1].operand = (uintptr_t)new_code;
code = new_code;
instr = _PyCode_CODE(code);
DPRINTF(2,