bpo-43693: Eliminate unused "fast locals". (gh-26587)
Currently, if an arg value escapes (into the closure for an inner function) we end up allocating two indices in the fast locals even though only one gets used. Additionally, using the lower index would be better in some cases, such as with no-arg `super()`. To address this, we update the compiler to fix the offsets so each variable only gets one "fast local". As a consequence, now some cell offsets are interspersed with the locals (only when an arg escapes to an inner function). https://bugs.python.org/issue43693
E
Eric Snow committed
ac38a9f2dfbba95f5d4338eb11a0221d38ef9328
Parent: 1d10bf0
Committed by GitHub <noreply@github.com>
on 6/15/2021, 10:35:25 PM