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