[C-API] Add a function to access PyCodeObject.co_code in C · Issue #92154 · python/cpython (original) (raw)

Skip to content

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

@Fidget-Spinner

Description

@Fidget-Spinner

Feature or enhancement

Previously, you could access the co_code field in PyCodeObject directly to access the bytecode. This is no longer the case since 2bde682. Currently in 3.11a7+, C code cannot easily obtain the equivalent of co_code in 3.10. co_code_adaptive gets quickened bytecode which is not equivalent to the 3.10 behavior.

I would imagine many tools relying on the old behavior will break.

Pitch

I propose we expose some form of the currently internal _PyCode_GetCode.

Previous discussion

Related to #91397.
See also coverage.py issue nedbat/coveragepy#1367

CC @vstinner @nedbat @brandtbucher @markshannon