ApR |I32 |block_gimme
: Used in perly.y
pR |int |block_start |int full
+Aop |void |blockhook_register |NN BHK *hk
: Used in perl.c
p |void |boot_core_UNIVERSAL
: Used in perl.c
#define block_gimme Perl_block_gimme
#ifdef PERL_CORE
#define block_start Perl_block_start
+#endif
+#ifdef PERL_CORE
#define boot_core_UNIVERSAL Perl_boot_core_UNIVERSAL
#define boot_core_PerlIO Perl_boot_core_PerlIO
#endif
#define block_gimme() Perl_block_gimme(aTHX)
#ifdef PERL_CORE
#define block_start(a) Perl_block_start(aTHX_ a)
+#endif
+#ifdef PERL_CORE
#define boot_core_UNIVERSAL() Perl_boot_core_UNIVERSAL(aTHX)
#define boot_core_PerlIO() Perl_boot_core_PerlIO(aTHX)
#endif
Newxz(bhk, 1, BHK);
BhkENTRY_set(bhk, start, blockhook_start);
BhkENTRY_set(bhk, pre_end, blockhook_pre_end);
-
- if (!PL_blockhooks)
- PL_blockhooks = newAV();
- av_push(PL_blockhooks, newSViv(PTR2IV(bhk)));
+ Perl_blockhook_register(aTHX_ bhk);
}
void
Perl_av_arylen_p
Perl_av_iter_p
Perl_block_gimme
+Perl_blockhook_register
Perl_call_list
Perl_cast_ulong
Perl_cast_i32
return retval;
}
+void
+Perl_blockhook_register(pTHX_ BHK *hk)
+{
+ PERL_ARGS_ASSERT_BLOCKHOOK_REGISTER;
+
+ Perl_av_create_and_push(aTHX_ &PL_blockhooks, newSViv(PTR2IV(hk)));
+}
+
STATIC OP *
S_newDEFSVOP(pTHX)
{
PERL_CALLCONV int Perl_block_start(pTHX_ int full)
__attribute__warn_unused_result__;
+PERL_CALLCONV void Perl_blockhook_register(pTHX_ BHK *hk)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_BLOCKHOOK_REGISTER \
+ assert(hk)
+
PERL_CALLCONV void Perl_boot_core_UNIVERSAL(pTHX);
PERL_CALLCONV void Perl_boot_core_PerlIO(pTHX);
PERL_CALLCONV void Perl_call_list(pTHX_ I32 oldscope, AV *paramList)