cvs commit: ponie/perl/ext/Devel/Peek/t Peek.t

[email protected] (Nicholas Clark) 13 Jun 2004 20:38:54 -0000
Newsgroups perl.ponie.changes
Message-ID <[email protected]>
cvsuser     04/06/13 13:38:53

  Modified:    perl     dump.c embed.fnc embed.h global.sym proto.h sv.c
                        sv.h
               perl/ext/Devel/Peek/t Peek.t
  Log:
  Hide the SV head macros behind functions, ready for moving the PMC around.
  
  Revision  Changes    Path
  1.3       +0 -1      ponie/perl/dump.c
  
  Index: dump.c
  ===================================================================
  RCS file: /cvs/public/ponie/perl/dump.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -r1.2 -r1.3
  --- dump.c	9 Apr 2004 17:30:14 -0000	1.2
  +++ dump.c	13 Jun 2004 20:38:53 -0000	1.3
  @@ -1103,7 +1103,6 @@
   		   (int)(PL_dumpindent*level), "", (IV)SvREFCNT(sv),
   		   (int)(PL_dumpindent*level), "");
   
  -    if (SvPMC(sv))		sv_catpv(d, "pmc,");
       if (flags & SVs_PADSTALE)	sv_catpv(d, "PADSTALE,");
       if (flags & SVs_PADTMP)	sv_catpv(d, "PADTMP,");
       if (flags & SVs_PADMY)	sv_catpv(d, "PADMY,");
  
  
  
  1.25      +4 -0      ponie/perl/embed.fnc
  
  Index: embed.fnc
  ===================================================================
  RCS file: /cvs/public/ponie/perl/embed.fnc,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -w -r1.24 -r1.25
  --- embed.fnc	13 Jun 2004 16:40:05 -0000	1.24
  +++ embed.fnc	13 Jun 2004 20:38:53 -0000	1.25
  @@ -985,6 +985,10 @@
   Ap      |SV**|macro_AvARYLEN  |AV *
   Ap      |SSize_t*|macro_AvFILLp  |AV *
   Ap      |SSize_t*|macro_AvMAX  |AV *
  +
  +Ap	|void**	|macro_SvANY	|SV *
  +Ap	|U32*	|macro_SvFLAGS	|SV *
  +Ap	|U32*	|macro_SvREFCNT	|SV *
   Ap	|char**	|macro_SvPVX	|SV *
   Ap	|STRLEN*	|macro_SvCUR	|SV *
   Ap	|STRLEN*	|macro_SvLEN	|SV *
  
  
  
  1.16      +6 -0      ponie/perl/embed.h
  
  Index: embed.h
  ===================================================================
  RCS file: /cvs/public/ponie/perl/embed.h,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -w -r1.15 -r1.16
  --- embed.h	13 Jun 2004 16:40:05 -0000	1.15
  +++ embed.h	13 Jun 2004 20:38:53 -0000	1.16
  @@ -1267,6 +1267,9 @@
   #define macro_AvARYLEN		Perl_macro_AvARYLEN
   #define macro_AvFILLp		Perl_macro_AvFILLp
   #define macro_AvMAX		Perl_macro_AvMAX
  +#define macro_SvANY		Perl_macro_SvANY
  +#define macro_SvFLAGS		Perl_macro_SvFLAGS
  +#define macro_SvREFCNT		Perl_macro_SvREFCNT
   #define macro_SvPVX		Perl_macro_SvPVX
   #define macro_SvCUR		Perl_macro_SvCUR
   #define macro_SvLEN		Perl_macro_SvLEN
  @@ -3853,6 +3856,9 @@
   #define macro_AvARYLEN(a)	Perl_macro_AvARYLEN(aTHX_ a)
   #define macro_AvFILLp(a)	Perl_macro_AvFILLp(aTHX_ a)
   #define macro_AvMAX(a)		Perl_macro_AvMAX(aTHX_ a)
  +#define macro_SvANY(a)		Perl_macro_SvANY(aTHX_ a)
  +#define macro_SvFLAGS(a)	Perl_macro_SvFLAGS(aTHX_ a)
  +#define macro_SvREFCNT(a)	Perl_macro_SvREFCNT(aTHX_ a)
   #define macro_SvPVX(a)		Perl_macro_SvPVX(aTHX_ a)
   #define macro_SvCUR(a)		Perl_macro_SvCUR(aTHX_ a)
   #define macro_SvLEN(a)		Perl_macro_SvLEN(aTHX_ a)
  
  
  
  1.14      +3 -0      ponie/perl/global.sym
  
  Index: global.sym
  ===================================================================
  RCS file: /cvs/public/ponie/perl/global.sym,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -w -r1.13 -r1.14
  --- global.sym	4 May 2004 16:36:52 -0000	1.13
  +++ global.sym	13 Jun 2004 20:38:53 -0000	1.14
  @@ -647,6 +647,9 @@
   Perl_macro_AvARYLEN
   Perl_macro_AvFILLp
   Perl_macro_AvMAX
  +Perl_macro_SvANY
  +Perl_macro_SvFLAGS
  +Perl_macro_SvREFCNT
   Perl_macro_SvPVX
   Perl_macro_SvCUR
   Perl_macro_SvLEN
  
  
  
  1.25      +4 -0      ponie/perl/proto.h
  
  Index: proto.h
  ===================================================================
  RCS file: /cvs/public/ponie/perl/proto.h,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -w -r1.24 -r1.25
  --- proto.h	13 Jun 2004 16:40:05 -0000	1.24
  +++ proto.h	13 Jun 2004 20:38:53 -0000	1.25
  @@ -943,6 +943,10 @@
   PERL_CALLCONV SV**	Perl_macro_AvARYLEN(pTHX_ AV *);
   PERL_CALLCONV SSize_t*	Perl_macro_AvFILLp(pTHX_ AV *);
   PERL_CALLCONV SSize_t*	Perl_macro_AvMAX(pTHX_ AV *);
  +
  +PERL_CALLCONV void**	Perl_macro_SvANY(pTHX_ SV *);
  +PERL_CALLCONV U32*	Perl_macro_SvFLAGS(pTHX_ SV *);
  +PERL_CALLCONV U32*	Perl_macro_SvREFCNT(pTHX_ SV *);
   PERL_CALLCONV char**	Perl_macro_SvPVX(pTHX_ SV *);
   PERL_CALLCONV STRLEN*	Perl_macro_SvCUR(pTHX_ SV *);
   PERL_CALLCONV STRLEN*	Perl_macro_SvLEN(pTHX_ SV *);
  
  
  
  1.33      +14 -0     ponie/perl/sv.c
  
  Index: sv.c
  ===================================================================
  RCS file: /cvs/public/ponie/perl/sv.c,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -w -r1.32 -r1.33
  --- sv.c	13 Jun 2004 16:40:05 -0000	1.32
  +++ sv.c	13 Jun 2004 20:38:53 -0000	1.33
  @@ -1279,6 +1279,20 @@
     Parrot_unregister_pmc(PL_Parrot, MUMBLE(io));
   }
   
  +void**
  +Perl_macro_SvANY (pTHX_ SV *sv) {
  +  return &(sv->sv_any);
  +}
  +U32*
  +Perl_macro_SvFLAGS (pTHX_ SV *sv) {
  +  return &(sv->sv_flags);
  +}
  +
  +U32*
  +Perl_macro_SvREFCNT (pTHX_ SV *sv) {
  +  return &(sv->sv_refcnt);
  +}
  +
   MAGIC** Perl_macro_SvMAGIC (pTHX_ SV *sv) {
     if(SvPMC(sv)) {
       XPVMG* data = (XPVMG*) Parrot_PMC_get_pointer(PL_Parrot, MUMBLE(SvANY(sv)));
  
  
  
  1.19      +7 -6      ponie/perl/sv.h
  
  Index: sv.h
  ===================================================================
  RCS file: /cvs/public/ponie/perl/sv.h,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -w -r1.18 -r1.19
  --- sv.h	13 Jun 2004 16:40:05 -0000	1.18
  +++ sv.h	13 Jun 2004 20:38:53 -0000	1.19
  @@ -128,12 +128,13 @@
   =cut
   */
   
  -#define SvANY(sv)	(sv)->sv_any
  -#define SvFLAGS(sv)	(sv)->sv_flags
  -#define SvREFCNT(sv)	(sv)->sv_refcnt
  -#define SvPMC(sv)       (STMT_START {assert(SvANY(sv) ? (sv)->sv_is_pmc : 1)} STMT_END, (sv)->sv_is_pmc)
  -#define SvPMC_on(sv)    ((sv)->sv_is_pmc = 1);
  -#define SvPMC_off(sv)   ((sv)->sv_is_pmc = 0);
  +#define SvANY(sv)	(*Perl_macro_SvANY(aTHX_ (SV *) (sv)))
  +#define SvREFCNT(sv)	(*Perl_macro_SvREFCNT(aTHX_ (SV *) (sv)))
  +#define SvFLAGS(sv)	(*Perl_macro_SvFLAGS(aTHX_ (SV *) (sv)))
  +
  +#define SvPMC(sv)       1
  +#define SvPMC_on(sv)    ;
  +#define SvPMC_off(sv)   ;
   
   
   #if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
  
  
  
  1.10      +35 -35    ponie/perl/ext/Devel/Peek/t/Peek.t
  
  Index: Peek.t
  ===================================================================
  RCS file: /cvs/public/ponie/perl/ext/Devel/Peek/t/Peek.t,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -w -r1.9 -r1.10
  --- Peek.t	13 Jun 2004 16:40:06 -0000	1.9
  +++ Peek.t	13 Jun 2004 20:38:53 -0000	1.10
  @@ -53,7 +53,7 @@
   	$a = "foo",
   'SV = PV\\($ADDR\\) at $ADDR
     REFCNT = 1
  -  FLAGS = \\(pmc,POK,pPOK\\)
  +  FLAGS = \\(POK,pPOK\\)
     PV = $ADDR "foo"\\\0
     CUR = 3
     LEN = \\d+'
  @@ -72,7 +72,7 @@
           $b = 123,
   'SV = IV\\($ADDR\\) at $ADDR
     REFCNT = 1
  -  FLAGS = \\(pmc,IOK,pIOK\\)
  +  FLAGS = \\(IOK,pIOK\\)
     IV = 123');
   
   do_test( 4,
  @@ -86,7 +86,7 @@
           $c = 456,
   'SV = IV\\($ADDR\\) at $ADDR
     REFCNT = 1
  -  FLAGS = \\(pmc,PADMY,IOK,pIOK\\)
  +  FLAGS = \\(PADMY,IOK,pIOK\\)
     IV = 456');
   
   # If perl is built with PERL_PRESERVE_IVUV then maths is done as integers
  @@ -98,7 +98,7 @@
           $c + $d,
   'SV = ([NI])V\\($ADDR\\) at $ADDR
     REFCNT = 1
  -  FLAGS = \\(pmc,PADTMP,\1OK,p\1OK\\)
  +  FLAGS = \\(PADTMP,\1OK,p\1OK\\)
     \1V = 456');
   
   ($d = "789") += 0.1;
  @@ -107,7 +107,7 @@
          $d,
   'SV = PVNV\\($ADDR\\) at $ADDR
     REFCNT = 1
  -  FLAGS = \\(pmc,NOK,pNOK\\)
  +  FLAGS = \\(NOK,pNOK\\)
     IV = 0
     NV = 789\\.(?:1(?:000+\d+)?|0999+\d+)
     PV = $ADDR "789"\\\0
  @@ -131,11 +131,11 @@
           \$a,
   'SV = RV\\($ADDR\\) at $ADDR
     REFCNT = 1
  -  FLAGS = \\(pmc,ROK\\)
  +  FLAGS = \\(ROK\\)
     RV = $ADDR
     SV = PV\\($ADDR\\) at $ADDR
       REFCNT = 2
  -    FLAGS = \\(pmc,POK,pPOK\\)
  +    FLAGS = \\(POK,pPOK\\)
       PV = $ADDR "foo"\\\0
       CUR = 3
       LEN = \\d+');
  @@ -145,7 +145,7 @@
     $c_pattern = '
       SV = PVNV\\($ADDR\\) at $ADDR
         REFCNT = 1
  -      FLAGS = \\(pmc,IOK,NOK,pIOK,pNOK\\)
  +      FLAGS = \\(IOK,NOK,pIOK,pNOK\\)
         IV = 456
         NV = 456
         PV = 0';
  @@ -153,18 +153,18 @@
     $c_pattern = '
       SV = IV\\($ADDR\\) at $ADDR
         REFCNT = 1
  -      FLAGS = \\(pmc,IOK,pIOK\\)
  +      FLAGS = \\(IOK,pIOK\\)
         IV = 456';
   }
   do_test(11,
          [$b,$c],
   'SV = RV\\($ADDR\\) at $ADDR
     REFCNT = 1
  -  FLAGS = \\(pmc,ROK\\)
  +  FLAGS = \\(ROK\\)
     RV = $ADDR
     SV = PVAV\\($ADDR\\) at $ADDR
       REFCNT = 2
  -    FLAGS = \\(pmc\\)
  +    FLAGS = \\(\\)
       IV = 0
       NV = 0
       ARRAY = $ADDR
  @@ -175,7 +175,7 @@
       Elt No. 0
       SV = IV\\($ADDR\\) at $ADDR
         REFCNT = 1
  -      FLAGS = \\(pmc,IOK,pIOK\\)
  +      FLAGS = \\(IOK,pIOK\\)
         IV = 123
       Elt No. 1' . $c_pattern);
   
  @@ -183,11 +183,11 @@
          {$b=>$c},
   'SV = RV\\($ADDR\\) at $ADDR
     REFCNT = 1
  -  FLAGS = \\(pmc,ROK\\)
  +  FLAGS = \\(ROK\\)
     RV = $ADDR
     SV = PVHV\\($ADDR\\) at $ADDR
       REFCNT = 2
  -    FLAGS = \\(pmc,SHAREKEYS\\)
  +    FLAGS = \\(SHAREKEYS\\)
       IV = 1
       NV = $FLOAT
       ARRAY = $ADDR  \\(0:7, 1:1\\)
  @@ -203,11 +203,11 @@
           sub(){@_},
   'SV = RV\\($ADDR\\) at $ADDR
     REFCNT = 1
  -  FLAGS = \\(pmc,ROK\\)
  +  FLAGS = \\(ROK\\)
     RV = $ADDR
     SV = PVCV\\($ADDR\\) at $ADDR
       REFCNT = 2
  -    FLAGS = \\(pmc,PADMY,POK,pPOK,ANON,WEAKOUTSIDE\\)
  +    FLAGS = \\(PADMY,POK,pPOK,ANON,WEAKOUTSIDE\\)
       IV = 0
       NV = 0
       PROTOTYPE = ""
  @@ -231,11 +231,11 @@
           \&do_test,
   'SV = RV\\($ADDR\\) at $ADDR
     REFCNT = 1
  -  FLAGS = \\(pmc,ROK\\)
  +  FLAGS = \\(ROK\\)
     RV = $ADDR
     SV = PVCV\\($ADDR\\) at $ADDR
       REFCNT = (3|4)
  -    FLAGS = \\(pmc\\)
  +    FLAGS = \\(\\)
       IV = 0
       NV = 0
       COMP_STASH = $ADDR\\t"main"
  @@ -261,11 +261,11 @@
           qr(tic),
   'SV = RV\\($ADDR\\) at $ADDR
     REFCNT = 1
  -  FLAGS = \\(pmc,ROK\\)
  +  FLAGS = \\(ROK\\)
     RV = $ADDR
     SV = PVMG\\($ADDR\\) at $ADDR
       REFCNT = 1
  -    FLAGS = \\(pmc,OBJECT,SMG\\)
  +    FLAGS = \\(OBJECT,SMG\\)
       IV = 0
       NV = 0
       PV = 0
  @@ -279,11 +279,11 @@
           (bless {}, "Tac"),
   'SV = RV\\($ADDR\\) at $ADDR
     REFCNT = 1
  -  FLAGS = \\(pmc,ROK\\)
  +  FLAGS = \\(ROK\\)
     RV = $ADDR
     SV = PVHV\\($ADDR\\) at $ADDR
       REFCNT = 2
  -    FLAGS = \\(pmc,OBJECT,SHAREKEYS\\)
  +    FLAGS = \\(OBJECT,SHAREKEYS\\)
       IV = 0
       NV = 0
       STASH = $ADDR\\t"Tac"
  @@ -298,7 +298,7 @@
   	*a,
   'SV = PVGV\\($ADDR\\) at $ADDR
     REFCNT = 5
  -  FLAGS = \\(pmc,GMG,SMG,MULTI(?:,IN_PAD)?\\)
  +  FLAGS = \\(GMG,SMG,MULTI(?:,IN_PAD)?\\)
     IV = 0
     NV = 0
     MAGIC = $ADDR
  @@ -328,7 +328,7 @@
   	chr(256).chr(0).chr(512),
   'SV = PV\\($ADDR\\) at $ADDR
     REFCNT = 1
  -  FLAGS = \\(pmc,(?:PADTMP,)?POK,READONLY,pPOK,UTF8\\)
  +  FLAGS = \\((?:PADTMP,)?POK,READONLY,pPOK,UTF8\\)
     PV = $ADDR "\\\214\\\101\\\0\\\235\\\101"\\\0 \[UTF8 "\\\x\{100\}\\\x\{0\}\\\x\{200\}"\]
     CUR = 5
     LEN = \\d+');
  @@ -337,7 +337,7 @@
   	chr(256).chr(0).chr(512),
   'SV = PV\\($ADDR\\) at $ADDR
     REFCNT = 1
  -  FLAGS = \\(pmc,(?:PADTMP,)?POK,READONLY,pPOK,UTF8\\)
  +  FLAGS = \\((?:PADTMP,)?POK,READONLY,pPOK,UTF8\\)
     PV = $ADDR "\\\304\\\200\\\0\\\310\\\200"\\\0 \[UTF8 "\\\x\{100\}\\\x\{0\}\\\x\{200\}"\]
     CUR = 5
     LEN = \\d+');
  @@ -348,11 +348,11 @@
   	{chr(256)=>chr(512)},
   'SV = RV\\($ADDR\\) at $ADDR
     REFCNT = 1
  -  FLAGS = \\(pmc,ROK\\)
  +  FLAGS = \\(ROK\\)
     RV = $ADDR
     SV = PVHV\\($ADDR\\) at $ADDR
       REFCNT = 2
  -    FLAGS = \\(pmc,SHAREKEYS,HASKFLAGS\\)
  +    FLAGS = \\(SHAREKEYS,HASKFLAGS\\)
       UV = 1
       NV = $FLOAT
       ARRAY = $ADDR  \\(0:7, 1:1\\)
  @@ -365,7 +365,7 @@
       Elt "\\\214\\\101" \[UTF8 "\\\x\{100\}"\] HASH = $ADDR
       SV = PV\\($ADDR\\) at $ADDR
         REFCNT = 1
  -      FLAGS = \\(pmc,POK,pPOK,UTF8\\)
  +      FLAGS = \\(POK,pPOK,UTF8\\)
         PV = $ADDR "\\\235\\\101"\\\0 \[UTF8 "\\\x\{200\}"\]
         CUR = 2
         LEN = \\d+');
  @@ -374,11 +374,11 @@
   	{chr(256)=>chr(512)},
   'SV = RV\\($ADDR\\) at $ADDR
     REFCNT = 1
  -  FLAGS = \\(pmc,ROK\\)
  +  FLAGS = \\(ROK\\)
     RV = $ADDR
     SV = PVHV\\($ADDR\\) at $ADDR
       REFCNT = 2
  -    FLAGS = \\(pmc,SHAREKEYS,HASKFLAGS\\)
  +    FLAGS = \\(SHAREKEYS,HASKFLAGS\\)
       UV = 1
       NV = 0
       ARRAY = $ADDR  \\(0:7, 1:1\\)
  @@ -391,7 +391,7 @@
       Elt "\\\304\\\200" \[UTF8 "\\\x\{100\}"\] HASH = $ADDR
       SV = PV\\($ADDR\\) at $ADDR
         REFCNT = 1
  -      FLAGS = \\(pmc,POK,pPOK,UTF8\\)
  +      FLAGS = \\(POK,pPOK,UTF8\\)
         PV = $ADDR "\\\310\\\200"\\\0 \[UTF8 "\\\x\{200\}"\]
         CUR = 2
         LEN = \\d+');
  @@ -403,7 +403,7 @@
           $x,
   'SV = PVMG\\($ADDR\\) at $ADDR
     REFCNT = 1
  -  FLAGS = \\(pmc,PADMY,SMG,POK,pPOK\\)
  +  FLAGS = \\(PADMY,SMG,POK,pPOK\\)
     IV = 0
     NV = 0
     PV = $ADDR ""\\\0
  @@ -424,7 +424,7 @@
           $ENV{PATH}=@ARGV,  # scalar(@ARGV) is a handy known tainted value
   'SV = PVMG\\($ADDR\\) at $ADDR
     REFCNT = 1
  -  FLAGS = \\(pmc,GMG,SMG,RMG,pIOK,pPOK\\)
  +  FLAGS = \\(GMG,SMG,RMG,pIOK,pPOK\\)
     IV = 0
     NV = 0
     PV = $ADDR "0"\\\0
  @@ -457,11 +457,11 @@
   	bless(\\undef, 'Foobar'),
   'SV = RV\\($ADDR\\) at $ADDR
     REFCNT = 1
  -  FLAGS = \\(pmc,ROK\\)
  +  FLAGS = \\(ROK\\)
     RV = $ADDR
     SV = PVMG\\($ADDR\\) at $ADDR
       REFCNT = 2
  -    FLAGS = \\(pmc,OBJECT,ROK\\)
  +    FLAGS = \\(OBJECT,ROK\\)
       IV = -?\d+
       NV = $FLOAT
       RV = $ADDR