8.8 创建一个 Code Object
makecode()
的任务是检查编译器状态和汇编器的一些属性,并通过调用 PyCode_New()
将这些属性放入 PyCodeObject
中。
变量名和常量作为属性放到 code object 中:
代码不翻译
你还可能注意到,字节码被送到 PyCode_NewWithPosOnlyArgs()
之前被送到 PyCode_Optimize()
。此函数是 Python/peephole.c
中字节码优化过程的一部分。
窥孔(peephole
)优化器检查字节码指令,并在某些情况下用其他指令替换它们。例如,有一个优化器,它可以删除 return
语句之后的任何无法访问的指令。
Last updated