[Python-Dev] Bytcode "magic tag"

Barry Warsaw barry at python.org
Wed Oct 28 10:19:44 EDT 2015

On Oct 28, 2015, at 08:35 AM, Eric V. Smith wrote:

>The "following table" is a comment, that contains a few references to
>the tag "cpython-<version>", specifically cpython-32. It doesn't seem
>that the tag is routinely updated in the comment.

IIRC, it used to have to be changed in the code, but with this...

>sys.implementation.cache_tag returns 'cpython-36', and is in fact
>implemented as 'cpython-{PY_MAJOR_VERSION}{PY_MINOR_VERSION}'.

...I don't believe it does any more.

>Do I need to do anything else?

I don't think so.

>Unlike what the comment in _boostrap_external.py suggests, this "magic tag"
>will not change every time a bytecode is added, but only on every minor
>release. Which implies that if we have a micro release that adds an opcode,
>we'll in fact break the promise in the comment.

Right.  Have we ever done that though?  We shouldn't!

>From my understanding on how this tag is used, this wouldn't be a
>problem (because the magic number in the file also changes). But I want
>to make sure I'm not misunderstanding something. I think the comment
>above is probably just misleading.

Yeah, it's just out of date.


More information about the Python-Dev mailing list