document updated 13 years ago, on Jul 16, 2011
PL_check is a perlapi that allows you to modify the meaning of any specific opcode, across the entire parse tree.
Documentation
PL_check isn't documented in the core anywhere that I can find. B::OPCheck explains its functionality however.
Modules that use it
- B::Hooks::OP::Check (backlinks)
- B::OPCheck (backlinks)
- autobox (backlinks) [OP_ENTERSUB] (whenever OP_ENTERSUB is encountered, it then goes and rewrites the internals of that specific function (see autobox_ck_subr())
- Acme::StringFormat [OP_MODULO]
- Acme::RequireModule [OP_REQUIRE]
- Lexical::Types [OP_PADANY, OD_PADSV]
- warnings::unused [OP_PADANY, OP_PADSV, OP_LEAVESUB, OP_LEAVEEVAL, OP_LEAVELOOP]
- TryCatch [OP_RETURN, OP_WANTARRAY, OP_ENTERTRY, OP_ENTEREVAL]
- Scope::Escape [OP_ENTERSUB]
- Array::Base [OP_MAPSTART, OP_AELEM, OP_ASLICE, OP_LSLICE, OP_AV2ARYLEN, OP_AV2ARYLEN, OP_SPLICE, OP_EACH, OPKEYS]
- autovivication [lots]
- Lexical::SealRequireHints [OP_REQUIRE]