cvs commit: ponie/src/pmc perl5cargo_cult.pmc
[email protected] (Nicholas Clark) 1 May 2005 16:25:32 -0000
| Newsgroups | perl.ponie.changes |
|---|---|
| Message-ID | <[email protected]> |
cvsuser 05/05/01 09:25:32
Modified: perl embed.fnc embed.h global.sym proto.h sv.c sv.h
src/pmc perl5cargo_cult.pmc
Log:
Inline the scalar Perl_macro calls (and abolish the Perl_macro functions)
Revision Changes Path
1.40 +0 -32 ponie/perl/embed.fnc
Index: embed.fnc
===================================================================
RCS file: /cvs/public/ponie/perl/embed.fnc,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- embed.fnc 1 May 2005 15:12:20 -0000 1.39
+++ embed.fnc 1 May 2005 16:25:31 -0000 1.40
@@ -984,38 +984,6 @@
Ap |SSize_t*|macro_AvMAX |AV *
Ap |IV*|macro_AvOFF |AV *
-Ap |char** |macro_SvPVX |SV *
-Ap |STRLEN* |macro_SvCUR |SV *
-Ap |STRLEN* |macro_SvLEN |SV *
-Ap |IV* |macro_SvIVX |SV *
-Ap |NV* |macro_SvNVX |SV *
-Ap |UV* |macro_SvUVX |SV *
-Ap |char* |macro_LvTYPE |SV *
-Ap |SV** |macro_LvTARG |SV *
-Ap |STRLEN* |macro_LvTARGLEN |SV *
-Ap |STRLEN* |macro_LvTARGOFF |SV *
-Ap |SV** |macro_SvRV |SV *
-Ap |U8* |macro_BmRARE |SV *
-Ap |I32* |macro_BmUSEFUL |SV *
-Ap |U16* |macro_BmPREVIOUS |SV *
-Ap |IV* |macro_FmLINES |SV *
-Ap |PerlIO** |macro_IoIFP |SV *
-Ap |PerlIO** |macro_IoOFP |SV *
-Ap |DIR** |macro_IoDIRP |SV *
-Ap |void** |macro_IoANY |SV *
-Ap |IV* |macro_IoLINES |SV *
-Ap |IV* |macro_IoPAGE |SV *
-Ap |IV* |macro_IoPAGE_LEN |SV *
-Ap |IV* |macro_IoLINES_LEFT |SV *
-Ap |char** |macro_IoTOP_NAME |SV *
-Ap |GV ** |macro_IoTOP_GV |SV *
-Ap |char** |macro_IoFMT_NAME |SV *
-Ap |GV** |macro_IoFMT_GV |SV *
-Ap |char** |macro_IoBOTTOM_NAME |SV *
-Ap |GV** |macro_IoBOTTOM_GV |SV *
-Ap |short* |macro_IoSUBPROCESS |SV *
-Ap |char* |macro_IoTYPE |SV *
-Ap |char* |macro_IoFLAGS |SV *
Ap |GP** |macro_GvGP |GV *
Ap |char** |macro_GvNAME |GV *
Ap |STRLEN* |macro_GvNAMELEN |GV *
1.30 +0 -30 ponie/perl/embed.h
Index: embed.h
===================================================================
RCS file: /cvs/public/ponie/perl/embed.h,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- embed.h 1 May 2005 15:12:20 -0000 1.29
+++ embed.h 1 May 2005 16:25:31 -0000 1.30
@@ -1261,21 +1261,6 @@
#define macro_AvFILLp Perl_macro_AvFILLp
#define macro_AvMAX Perl_macro_AvMAX
#define macro_AvOFF Perl_macro_AvOFF
-#define macro_SvPVX Perl_macro_SvPVX
-#define macro_SvCUR Perl_macro_SvCUR
-#define macro_SvLEN Perl_macro_SvLEN
-#define macro_SvIVX Perl_macro_SvIVX
-#define macro_SvNVX Perl_macro_SvNVX
-#define macro_SvUVX Perl_macro_SvUVX
-#define macro_LvTYPE Perl_macro_LvTYPE
-#define macro_LvTARG Perl_macro_LvTARG
-#define macro_LvTARGLEN Perl_macro_LvTARGLEN
-#define macro_LvTARGOFF Perl_macro_LvTARGOFF
-#define macro_SvRV Perl_macro_SvRV
-#define macro_BmRARE Perl_macro_BmRARE
-#define macro_BmUSEFUL Perl_macro_BmUSEFUL
-#define macro_BmPREVIOUS Perl_macro_BmPREVIOUS
-#define macro_FmLINES Perl_macro_FmLINES
#define macro_IoIFP Perl_macro_IoIFP
#define macro_IoOFP Perl_macro_IoOFP
#define macro_IoDIRP Perl_macro_IoDIRP
@@ -3813,21 +3798,6 @@
#define macro_AvFILLp(a) Perl_macro_AvFILLp(aTHX_ a)
#define macro_AvMAX(a) Perl_macro_AvMAX(aTHX_ a)
#define macro_AvOFF(a) Perl_macro_AvOFF(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)
-#define macro_SvIVX(a) Perl_macro_SvIVX(aTHX_ a)
-#define macro_SvNVX(a) Perl_macro_SvNVX(aTHX_ a)
-#define macro_SvUVX(a) Perl_macro_SvUVX(aTHX_ a)
-#define macro_LvTYPE(a) Perl_macro_LvTYPE(aTHX_ a)
-#define macro_LvTARG(a) Perl_macro_LvTARG(aTHX_ a)
-#define macro_LvTARGLEN(a) Perl_macro_LvTARGLEN(aTHX_ a)
-#define macro_LvTARGOFF(a) Perl_macro_LvTARGOFF(aTHX_ a)
-#define macro_SvRV(a) Perl_macro_SvRV(aTHX_ a)
-#define macro_BmRARE(a) Perl_macro_BmRARE(aTHX_ a)
-#define macro_BmUSEFUL(a) Perl_macro_BmUSEFUL(aTHX_ a)
-#define macro_BmPREVIOUS(a) Perl_macro_BmPREVIOUS(aTHX_ a)
-#define macro_FmLINES(a) Perl_macro_FmLINES(aTHX_ a)
#define macro_IoIFP(a) Perl_macro_IoIFP(aTHX_ a)
#define macro_IoOFP(a) Perl_macro_IoOFP(aTHX_ a)
#define macro_IoDIRP(a) Perl_macro_IoDIRP(aTHX_ a)
1.23 +0 -15 ponie/perl/global.sym
Index: global.sym
===================================================================
RCS file: /cvs/public/ponie/perl/global.sym,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- global.sym 1 May 2005 15:12:20 -0000 1.22
+++ global.sym 1 May 2005 16:25:31 -0000 1.23
@@ -651,21 +651,6 @@
Perl_macro_AvFILLp
Perl_macro_AvMAX
Perl_macro_AvOFF
-Perl_macro_SvPVX
-Perl_macro_SvCUR
-Perl_macro_SvLEN
-Perl_macro_SvIVX
-Perl_macro_SvNVX
-Perl_macro_SvUVX
-Perl_macro_LvTYPE
-Perl_macro_LvTARG
-Perl_macro_LvTARGLEN
-Perl_macro_LvTARGOFF
-Perl_macro_SvRV
-Perl_macro_BmRARE
-Perl_macro_BmUSEFUL
-Perl_macro_BmPREVIOUS
-Perl_macro_FmLINES
Perl_macro_IoIFP
Perl_macro_IoOFP
Perl_macro_IoDIRP
1.40 +0 -15 ponie/perl/proto.h
Index: proto.h
===================================================================
RCS file: /cvs/public/ponie/perl/proto.h,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- proto.h 1 May 2005 15:12:20 -0000 1.39
+++ proto.h 1 May 2005 16:25:31 -0000 1.40
@@ -944,21 +944,6 @@
PERL_CALLCONV SSize_t* Perl_macro_AvMAX(pTHX_ AV *);
PERL_CALLCONV IV* Perl_macro_AvOFF(pTHX_ AV *);
-PERL_CALLCONV char** Perl_macro_SvPVX(pTHX_ SV *);
-PERL_CALLCONV STRLEN* Perl_macro_SvCUR(pTHX_ SV *);
-PERL_CALLCONV STRLEN* Perl_macro_SvLEN(pTHX_ SV *);
-PERL_CALLCONV IV* Perl_macro_SvIVX(pTHX_ SV *);
-PERL_CALLCONV NV* Perl_macro_SvNVX(pTHX_ SV *);
-PERL_CALLCONV UV* Perl_macro_SvUVX(pTHX_ SV *);
-PERL_CALLCONV char* Perl_macro_LvTYPE(pTHX_ SV *);
-PERL_CALLCONV SV** Perl_macro_LvTARG(pTHX_ SV *);
-PERL_CALLCONV STRLEN* Perl_macro_LvTARGLEN(pTHX_ SV *);
-PERL_CALLCONV STRLEN* Perl_macro_LvTARGOFF(pTHX_ SV *);
-PERL_CALLCONV SV** Perl_macro_SvRV(pTHX_ SV *);
-PERL_CALLCONV U8* Perl_macro_BmRARE(pTHX_ SV *);
-PERL_CALLCONV I32* Perl_macro_BmUSEFUL(pTHX_ SV *);
-PERL_CALLCONV U16* Perl_macro_BmPREVIOUS(pTHX_ SV *);
-PERL_CALLCONV IV* Perl_macro_FmLINES(pTHX_ SV *);
PERL_CALLCONV PerlIO** Perl_macro_IoIFP(pTHX_ SV *);
PERL_CALLCONV PerlIO** Perl_macro_IoOFP(pTHX_ SV *);
PERL_CALLCONV DIR** Perl_macro_IoDIRP(pTHX_ SV *);
1.76 +0 -133 ponie/perl/sv.c
Index: sv.c
===================================================================
RCS file: /cvs/public/ponie/perl/sv.c,v
retrieving revision 1.75
retrieving revision 1.76
diff -u -r1.75 -r1.76
--- sv.c 1 May 2005 15:12:20 -0000 1.75
+++ sv.c 1 May 2005 16:25:31 -0000 1.76
@@ -1062,139 +1062,6 @@
"", "", "");
}
-SV** Perl_macro_SvRV (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_RV);
-}
-
-
-
-UV* Perl_macro_SvUVX (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_UVX);
-}
-
-
-NV* Perl_macro_SvNVX (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_NVX);
-}
-
-
-IV* Perl_macro_SvIVX (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IVX);
-}
-
-char** Perl_macro_SvPVX (pTHX_ SV *sv) {
- assert (!SvROK(sv));
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_PVX);
-}
-
-STRLEN* Perl_macro_SvLEN (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_LEN);
-}
-
-STRLEN* Perl_macro_SvCUR (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CUR);
-}
-
-U8* Perl_macro_BmRARE (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_RARE);
-}
-
-I32* Perl_macro_BmUSEFUL (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_USEFUL);
-}
-
-U16* Perl_macro_BmPREVIOUS (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_PREVIOUS);
-}
-
-IV* Perl_macro_FmLINES (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_LINES);
-}
-
-char* Perl_macro_LvTYPE (pTHX_ SV* sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_TYPE);
-}
-
-SV** Perl_macro_LvTARG (pTHX_ SV* sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_TARG);
-}
-
-STRLEN* Perl_macro_LvTARGOFF (pTHX_ SV* sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_TARGOFF);
-}
-
-STRLEN* Perl_macro_LvTARGLEN (pTHX_ SV* sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_TARGLEN);
-}
-
-PerlIO** Perl_macro_IoIFP (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOIFP);
-}
-
-PerlIO** Perl_macro_IoOFP (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOOFP);
-}
-
-DIR** Perl_macro_IoDIRP (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IODIRP);
-}
-
-void** Perl_macro_IoANY (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOANY);
-}
-
-IV* Perl_macro_IoLINES (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOLINES);
-}
-
-IV* Perl_macro_IoPAGE (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOPAGE);
-}
-
-IV* Perl_macro_IoPAGE_LEN (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOPAGE_LEN);
-}
-
-IV* Perl_macro_IoLINES_LEFT (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOLINES_LEFT);
-}
-
-char** Perl_macro_IoTOP_NAME (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOTOP_NAME);
-}
-
-GV** Perl_macro_IoTOP_GV (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOTOP_GV);
-}
-
-char** Perl_macro_IoFMT_NAME (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOFMT_NAME);
-}
-
-GV** Perl_macro_IoFMT_GV (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOFMT_GV);
-}
-
-char** Perl_macro_IoBOTTOM_NAME (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOBOTTOM_NAME);
-}
-
-GV** Perl_macro_IoBOTTOM_GV (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOBOTTOM_GV);
-}
-
-short* Perl_macro_IoSUBPROCESS (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOSUBPROCESS);
-}
-
-char* Perl_macro_IoTYPE (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOTYPE);
-}
-
-char* Perl_macro_IoFLAGS (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOFLAGS);
-}
-
HV** Perl_macro_CvSTASH (pTHX_ SV *sv) {
return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CVSTASH);
}
1.78 +51 -51 ponie/perl/sv.h
Index: sv.h
===================================================================
RCS file: /cvs/public/ponie/perl/sv.h,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -r1.77 -r1.78
--- sv.h 1 May 2005 15:46:30 -0000 1.77
+++ sv.h 1 May 2005 16:25:31 -0000 1.78
@@ -895,13 +895,13 @@
#ifdef PERL_CORE
-#define SvRV(sv) (0 + * Perl_macro_SvRV(aTHX_ (SV*) (sv)))
-#define SvIVX(sv) (0 + * Perl_macro_SvIVX(aTHX_ (SV*) (sv)))
-#define SvUVX(sv) (0 + * Perl_macro_SvUVX(aTHX_ (SV*) (sv)))
-#define SvNVX(sv) (0.0 + * Perl_macro_SvNVX(aTHX_ (SV*) (sv)))
-#define SvPVX(sv) (0 + * Perl_macro_SvPVX(aTHX_ (SV*) (sv)))
-#define SvCUR(sv) (0 + * Perl_macro_SvCUR(aTHX_ (SV*) (sv)))
-#define SvLEN(sv) (0 + * Perl_macro_SvLEN(aTHX_ (SV*) (sv)))
+#define SvRV(sv) (0 + *(SV **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_RV))
+#define SvIVX(sv) (0 + *(IV *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IVX))
+#define SvUVX(sv) (0 + *(UV *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_UVX))
+#define SvNVX(sv) (0.0 + *(NV *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_NVX))
+#define SvPVX(sv) (0 + *(char **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_PVX))
+#define SvCUR(sv) (0 + *(STRLEN *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CUR))
+#define SvLEN(sv) (0 + *(STRLEN *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_LEN))
#ifdef PERL_IN_SV_C
/* Until Perl_sv_unmagic is migrated inside the PMC. */
#define SvMAGIC(sv) (*(MAGIC**)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_MAGIC))
@@ -910,13 +910,13 @@
#endif
#define SvSTASH(sv) (0 + *(HV **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_STASH))
#else
-#define SvRV(sv) (* Perl_macro_SvRV(aTHX_ (SV*) (sv)))
-#define SvIVX(sv) (* Perl_macro_SvIVX(aTHX_ (SV*) (sv)))
-#define SvUVX(sv) (* Perl_macro_SvUVX(aTHX_ (SV*) (sv)))
-#define SvNVX(sv) (* Perl_macro_SvNVX(aTHX_ (SV*) (sv)))
-#define SvPVX(sv) (* Perl_macro_SvPVX(aTHX_ (SV*) (sv)))
-#define SvCUR(sv) (* Perl_macro_SvCUR(aTHX_ (SV*) (sv)))
-#define SvLEN(sv) (* Perl_macro_SvLEN(aTHX_ (SV*) (sv)))
+#define SvRV(sv) (*(SV **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_RV))
+#define SvIVX(sv) (*(IV *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IVX))
+#define SvUVX(sv) (*(UV *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_UVX))
+#define SvNVX(sv) (*(NV *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_NVX))
+#define SvPVX(sv) (*(char **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_PVX))
+#define SvCUR(sv) (*(STRLEN *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CUR))
+#define SvLEN(sv) (*(STRLEN *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_LEN))
#define SvMAGIC(sv) (*(MAGIC**)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_MAGIC))
#define SvSTASH(sv) (*(HV **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_STASH))
#endif
@@ -938,19 +938,19 @@
(void) SvIV(sv); } STMT_END
#define SvIV_set(sv, val) \
STMT_START { assert(SvTYPE(sv) == SVt_IV || SvTYPE(sv) >= SVt_PVIV); \
- (* Perl_macro_SvIVX(aTHX_ (SV*) (sv)) = (val)); } STMT_END
+ (*(IV *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IVX) = (val)); } STMT_END
#define SvUV_set(sv, val) \
STMT_START { assert(SvTYPE(sv) == SVt_IV || SvTYPE(sv) >= SVt_PVIV); \
- (* Perl_macro_SvUVX(aTHX_ (SV*) (sv)) = (val)); } STMT_END
+ (*(UV *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_UVX) = (val)); } STMT_END
#define SvNV_set(sv, val) \
STMT_START { assert(SvTYPE(sv) == SVt_NV || SvTYPE(sv) >= SVt_PVNV); \
- (* Perl_macro_SvNVX(aTHX_ (SV*) (sv)) = (val)); } STMT_END
+ (*(NV *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_NVX) = (val)); } STMT_END
#define SvPV_set(sv, val) \
STMT_START { assert(SvTYPE(sv) >= SVt_PV); \
- (* Perl_macro_SvPVX(aTHX_ (SV*) (sv)) = (val)); } STMT_END
+ (*(char **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_PVX) = (val)); } STMT_END
#define SvRV_set(sv, val) \
STMT_START { assert(SvTYPE(sv) >= SVt_RV); \
- (* Perl_macro_SvRV(aTHX_ (SV*) (sv)) = (val)); } STMT_END
+ (*(SV **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_RV) = (val)); } STMT_END
#define SvMAGIC_set(sv, val) \
STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
(*(MAGIC**)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_MAGIC) = (val)); } STMT_END
@@ -959,13 +959,13 @@
(*(HV **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_STASH) = (val)); } STMT_END
#define SvCUR_set(sv, val) \
STMT_START { assert(SvTYPE(sv) >= SVt_PV); \
- (* Perl_macro_SvCUR(aTHX_ (SV*) (sv)) = (val)); } STMT_END
+ (*(STRLEN *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CUR) = (val)); } STMT_END
#define SvLEN_set(sv, val) \
STMT_START { assert(SvTYPE(sv) >= SVt_PV); \
- (* Perl_macro_SvLEN(aTHX_ (SV*) (sv)) = (val)); } STMT_END
+ (*(STRLEN *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_LEN) = (val)); } STMT_END
#define SvEND_set(sv, val) \
STMT_START { assert(SvTYPE(sv) >= SVt_PV); \
- (* Perl_macro_SvCUR(aTHX_ (SV*) (sv)) = (val) - SvPVX(sv)); } STMT_END
+ (*(STRLEN *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CUR) = (val) - SvPVX(sv)); } STMT_END
#define SvPV_renew(sv,n) \
STMT_START { SvLEN_set(sv, n); \
@@ -979,34 +979,34 @@
SvPV_renew(sv, _lEnGtH); \
} STMT_END
-#define BmRARE(sv) (* Perl_macro_BmRARE(aTHX_ (SV*)(sv)))
-#define BmUSEFUL(sv) (* Perl_macro_BmUSEFUL(aTHX_ (SV*)(sv)))
-#define BmPREVIOUS(sv) (* Perl_macro_BmPREVIOUS(aTHX_ (SV*)(sv)))
-
-#define FmLINES(sv) (* Perl_macro_BmPREVIOUS(aTHX_ (SV*)(sv)))
-
-#define LvTYPE(sv) ( * Perl_macro_LvTYPE(aTHX_ (SV*)(sv)))
-#define LvTARG(sv) ( * Perl_macro_LvTARG(aTHX_ (SV*)(sv)))
-#define LvTARGOFF(sv) ( * Perl_macro_LvTARGOFF(aTHX_ (SV*)(sv)))
-#define LvTARGLEN(sv) ( * Perl_macro_LvTARGLEN(aTHX_ (SV*)(sv)))
-
-#define IoIFP(sv) ( * Perl_macro_IoIFP(aTHX_ (SV*)(sv)))
-#define IoOFP(sv) ( * Perl_macro_IoOFP(aTHX_ (SV*)(sv)))
-#define IoDIRP(sv) ( * Perl_macro_IoDIRP(aTHX_ (SV*)(sv)))
-#define IoANY(sv) ( * Perl_macro_IoANY(aTHX_ (SV*)(sv)))
-#define IoLINES(sv) ( * Perl_macro_IoLINES(aTHX_ (SV*)(sv)))
-#define IoPAGE(sv) ( * Perl_macro_IoPAGE(aTHX_ (SV*)(sv)))
-#define IoPAGE_LEN(sv) ( * Perl_macro_IoPAGE_LEN(aTHX_ (SV*)(sv)))
-#define IoLINES_LEFT(sv)( * Perl_macro_IoLINES_LEFT(aTHX_ (SV*)(sv)))
-#define IoTOP_NAME(sv) ( * Perl_macro_IoTOP_NAME(aTHX_ (SV*)(sv)))
-#define IoTOP_GV(sv) ( * Perl_macro_IoTOP_GV(aTHX_ (SV*)(sv)))
-#define IoFMT_NAME(sv) ( * Perl_macro_IoFMT_NAME(aTHX_ (SV*)(sv)))
-#define IoFMT_GV(sv) ( * Perl_macro_IoFMT_GV(aTHX_ (SV*)(sv)))
-#define IoBOTTOM_NAME(sv)( * Perl_macro_IoBOTTOM_NAME(aTHX_ (SV*)(sv)))
-#define IoBOTTOM_GV(sv) ( * Perl_macro_IoBOTTOM_GV(aTHX_ (SV*)(sv)))
-#define IoSUBPROCESS(sv)( * Perl_macro_IoSUBPROCESS(aTHX_ (SV*)(sv)))
-#define IoTYPE(sv) ( * Perl_macro_IoTYPE(aTHX_ (SV*)(sv)))
-#define IoFLAGS(sv) ( * Perl_macro_IoFLAGS(aTHX_ (SV*)(sv)))
+#define BmRARE(sv) (*(U8 *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_RARE))
+#define BmUSEFUL(sv) (*(I32 *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_USEFUL))
+#define BmPREVIOUS(sv) (*(U16 *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_PREVIOUS))
+
+#define FmLINES(sv) (*(IV *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_LINES))
+
+#define LvTYPE(sv) (*(char *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_TYPE))
+#define LvTARG(sv) (*(SV **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_TARG))
+#define LvTARGOFF(sv) (*(STRLEN *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_TARGOFF))
+#define LvTARGLEN(sv) (*(STRLEN *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_TARGLEN))
+
+#define IoIFP(sv) (*(PerlIO **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOIFP))
+#define IoOFP(sv) (*(PerlIO **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOOFP))
+#define IoDIRP(sv) (*(DIR **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IODIRP))
+#define IoANY(sv) (*(void **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOANY))
+#define IoLINES(sv) (*(IV *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOLINES))
+#define IoPAGE(sv) (*(IV *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOPAGE))
+#define IoPAGE_LEN(sv) (*(IV *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOPAGE_LEN))
+#define IoLINES_LEFT(sv)(*(IV *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOLINES_LEFT))
+#define IoTOP_NAME(sv) (*(char **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOTOP_NAME))
+#define IoTOP_GV(sv) (*(GV **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOTOP_GV))
+#define IoFMT_NAME(sv) (*(char **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOFMT_NAME))
+#define IoFMT_GV(sv) (*(GV **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOFMT_GV))
+#define IoBOTTOM_NAME(sv)(*(char **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOBOTTOM_NAME))
+#define IoBOTTOM_GV(sv) (*(GV **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOBOTTOM_GV))
+#define IoSUBPROCESS(sv)(*(short *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOSUBPROCESS))
+#define IoTYPE(sv) (*(char *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOTYPE))
+#define IoFLAGS(sv) (*(char *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_IOFLAGS))
/* IoTYPE(sv) is a single character telling the type of I/O connection. */
#define IoTYPE_RDONLY '<'
@@ -1499,7 +1499,7 @@
*/
#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
/* Some things are passing *sp++ to SvANY, often indirectly. */
-#define MUMBLE(p) ({void *_p = (void *)p; (void *)((_p)?~(UV)(_p):0);})
+#define MUMBLE(p) ({void *_p = (void *)(p); (void *)(_p?~(UV)_p:0);})
#endif
#endif
1.57 +2 -1 ponie/src/pmc/perl5cargo_cult.pmc
Index: perl5cargo_cult.pmc
===================================================================
RCS file: /cvs/public/ponie/src/pmc/perl5cargo_cult.pmc,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -r1.56 -r1.57
--- perl5cargo_cult.pmc 1 May 2005 08:27:08 -0000 1.56
+++ perl5cargo_cult.pmc 1 May 2005 16:25:32 -0000 1.57
@@ -86,6 +86,7 @@
XPV *any;
assert (sv);
+ assert (!(PERL5_FLAGS(SELF) & SVf_ROK));
any = (XPV *)sv->sv_any;
assert (any);
return &(any->xpv_pv);