summaryrefslogtreecommitdiff
path: root/perlapi.h
diff options
context:
space:
mode:
authorBen Morrow <ben@morrow.me.uk>2009-11-26 17:18:29 +0000
committerRafael Garcia-Suarez <rgs@consttype.org>2010-07-12 10:40:47 +0200
commit1930840b26541ab67ff111a47ceab4753d798617 (patch)
treef27bbe5e370d51ad4f243eea906dc3b546f05efc /perlapi.h
parent3e2d3818e517e0037c1ab6a482f31d50271f9e27 (diff)
downloadperl-1930840b26541ab67ff111a47ceab4753d798617.tar.gz
Generic hooks into Perl_block_{start,end}.
These take the form of a vtable pushed onto the new PL_blockhooks array. This could probably do with a API around it later. Separate pre_end and post_end hooks are needed to capture globals before the stack is unwound (like needblockscope in the existing code). The intention is that once a vtable is installed it never gets removed, so where necessary extensions using this will need to use a hinthv element to determine whether to do anything or not.
Diffstat (limited to 'perlapi.h')
-rw-r--r--perlapi.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/perlapi.h b/perlapi.h
index 506d72c5ce..742bb3a586 100644
--- a/perlapi.h
+++ b/perlapi.h
@@ -178,6 +178,8 @@ END_EXTERN_C
#define PL_beginav (*Perl_Ibeginav_ptr(aTHX))
#undef PL_beginav_save
#define PL_beginav_save (*Perl_Ibeginav_save_ptr(aTHX))
+#undef PL_blockhooks
+#define PL_blockhooks (*Perl_Iblockhooks_ptr(aTHX))
#undef PL_body_arenas
#define PL_body_arenas (*Perl_Ibody_arenas_ptr(aTHX))
#undef PL_body_roots