X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=scope.h;h=42d1617eb9d5e041af1639ee30887c5818945b39;hb=b69c7e13638df93b8184f0ab25c064bbde4b32e0;hp=377a8b42fe86f6aaf72d96f990666c321ad199c2;hpb=ea8d6ae1f062ab3b10e0ad05f17970dead9860ff;p=p5sagit%2Fp5-mst-13.2.git diff --git a/scope.h b/scope.h index 377a8b4..42d1617 100644 --- a/scope.h +++ b/scope.h @@ -1,7 +1,7 @@ /* scope.h * * Copyright (C) 1993, 1994, 1996, 1997, 1998, 1999, - * 2000, 2001, 2002, 2004, 2005 by Larry Wall and others + * 2000, 2001, 2002, 2004, 2005, 2006, 2007 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. @@ -53,6 +53,7 @@ #define SAVEt_RE_STATE 42 #define SAVEt_COMPILE_WARNINGS 43 #define SAVEt_STACK_CXPOS 44 +#define SAVEt_PARSER 45 #ifndef SCOPE_SAVES_SIGNAL_MASK #define SCOPE_SAVES_SIGNAL_MASK 0 @@ -214,16 +215,27 @@ Closing bracket on a callback. See C and L. SSPUSHINT(SAVEt_STACK_CXPOS); \ } STMT_END +#define SAVEPARSER(p) \ + STMT_START { \ + SSCHECK(2); \ + SSPUSHPTR(p); \ + SSPUSHINT(SAVEt_PARSER); \ + } STMT_END + #ifdef USE_ITHREADS # define SAVECOPSTASH(c) SAVEPPTR(CopSTASHPV(c)) # define SAVECOPSTASH_FREE(c) SAVESHAREDPV(CopSTASHPV(c)) # define SAVECOPFILE(c) SAVEPPTR(CopFILE(c)) # define SAVECOPFILE_FREE(c) SAVESHAREDPV(CopFILE(c)) +# define SAVECOPLABEL(c) SAVEPPTR(CopLABEL(c)) +# define SAVECOPLABEL_FREE(c) SAVESHAREDPV(CopLABEL(c)) #else # define SAVECOPSTASH(c) SAVESPTR(CopSTASH(c)) # define SAVECOPSTASH_FREE(c) SAVECOPSTASH(c) /* XXX not refcounted */ # define SAVECOPFILE(c) SAVESPTR(CopFILEGV(c)) # define SAVECOPFILE_FREE(c) SAVEGENERICSV(CopFILEGV(c)) +# define SAVECOPLABEL(c) SAVEPPTR(CopLABEL(c)) +# define SAVECOPLABEL_FREE(c) SAVEPPTR(CopLABEL(c)) #endif #define SAVECOPLINE(c) SAVEI32(CopLINE(c))