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);