PL_check
是perl public api暴露的变量:
由OPCODE索引的数组的函数,该功能将在Perl代码的编译过程中为OPTREE构建的"检查"阶段调用。对于大多数(但不是全部)OP的类型,一旦最初用子OP构建和填充了OP,它将通过此数组的适当元素引用的检查功能过滤。
在源代码中,我可以在哪里查看将要过滤哪种类型的OpCode?
您可以检查所有类型的OP。就像上面所说的那样,这是一个由opcode索引的数组。
如果您想知道哪些OPS具有Checker,则可以根据已加载的模块而有所不同。例如,自动化添加了 OP_PADANY
, OP_PADSV
, OP_AELEM
, OP_HELEM
, OP_RV2SV
, OP_RV2AV
, OP_RV2HV
, OP_ASLICE
, OP_HSLICE
, OP_EXISTS
, OP_DELETE
, OP_KEYS
和 OP_VALUES
。(其中一些可能已经有了检查器,在这种情况下,AutoVififactivaction的新检查器将调用旧检查器。)
您可以通过查看opcode.h
中的PL_check
的定义(由opcode.pl
生成)。