Currently _PyUOpExecutorObject contains a fixed-length (_Py_UOP_MAX_TRACE_LENGTH, 32) array of micro instructions. We should switch to the usual variable-length array (making it a PyVarObject) so that we can make the largest superblock larger without paying the memory overhead cost for the full array.
Linked PRs
Currently
_PyUOpExecutorObjectcontains a fixed-length (_Py_UOP_MAX_TRACE_LENGTH, 32) array of micro instructions. We should switch to the usual variable-length array (making it aPyVarObject) so that we can make the largest superblock larger without paying the memory overhead cost for the full array.Linked PRs
_PyUOpExecutorObjectuse a variable-length array #107411