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