In perl.git, the branch sprout/rstack has been updated <http://perl5.git.perl.org/perl.git/commitdiff/d117a30680ee05d3baaadfee4c1960ae0585ab73?hp=4b4dbd87ee99bfed3bca2d055630070515a9d089>
- Log ----------------------------------------------------------------- commit d117a30680ee05d3baaadfee4c1960ae0585ab73 Author: Father Chrysostomos <spr...@cpan.org> Date: Sat Jul 16 23:08:15 2016 -0700 Add XSUB flag for refcounted stack Subs with this flag will use perlâs default refcounted stack. Other subs will get the stack copied to the old non-refcounted stack when they are called. ----------------------------------------------------------------------- Summary of changes: cv.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cv.h b/cv.h index ebbdd36..3b169ce 100644 --- a/cv.h +++ b/cv.h @@ -135,6 +135,7 @@ See L<perlguts/Autoloading with XSUBs>. #define CVf_NAMED 0x8000 /* Has a name HEK */ #define CVf_LEXICAL 0x10000 /* Omit package from name */ #define CVf_ANONCONST 0x20000 /* :const - create anonconst op */ +#define CVf_RSTACK 0x40000 /* XSUB uses a refcounted stack */ /* This symbol for optimised communication between toke.c and op.c: */ #define CVf_BUILTIN_ATTRS (CVf_METHOD|CVf_LVALUE|CVf_ANONCONST) @@ -224,6 +225,10 @@ See L<perlguts/Autoloading with XSUBs>. #define CvANONCONST_on(cv) (CvFLAGS(cv) |= CVf_ANONCONST) #define CvANONCONST_off(cv) (CvFLAGS(cv) &= ~CVf_ANONCONST) +#define CvRSTACK(cv) (CvFLAGS(cv) & CVf_RSTACK) +#define CvRSTACK_on(cv) (CvFLAGS(cv) |= CVf_RSTACK) +#define CvRSTACK_off(cv) (CvFLAGS(cv) &= ~CVf_RSTACK) + /* Flags for newXS_flags */ #define XS_DYNAMIC_FILENAME 0x01 /* The filename isn't static */ -- Perl5 Master Repository