cvs commit: ponie/perl av.c av.h cv.h embed.fnc embed.h global.sym hv.c hv.h proto.h sv.c
[email protected] (Nicholas Clark) 1 May 2005 17:13:14 -0000
| Newsgroups | perl.ponie.changes |
|---|---|
| Message-ID | <[email protected]> |
cvsuser 05/05/01 10:13:14
Modified: perl av.c av.h cv.h embed.fnc embed.h global.sym hv.c
hv.h proto.h sv.c
Log:
Abolish all the AV, CV and HV macro functions, inlining the PMC calls.
Remove these plus the missed IO macro functions from the embedding headers.
Revision Changes Path
1.11 +0 -37 ponie/perl/av.c
Index: av.c
===================================================================
RCS file: /cvs/public/ponie/perl/av.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- av.c 19 Apr 2005 19:04:13 -0000 1.10
+++ av.c 1 May 2005 17:13:13 -0000 1.11
@@ -22,43 +22,6 @@
#include "perl.h"
#include "parrot/extend.h"
-SV*** Perl_macro_AvARRAY (pTHX_ AV *av) {
- XPVAV* data = (XPVAV*) /**/ SvANY(av);
- return (SV***)&(data->xav_array);
-}
-
-U8* Perl_macro_AvFLAGS (pTHX_ AV *av) {
- XPVAV* data = (XPVAV*) /**/ SvANY(av);
- return &(data->xav_flags);
-}
-
-SSize_t* Perl_macro_AvMAX (pTHX_ AV *av) {
- XPVAV* data = (XPVAV*) /**/ SvANY(av);
- return &(data->xav_max);
-}
-
-SV*** Perl_macro_AvALLOC (pTHX_ AV *av) {
- XPVAV* data = (XPVAV*) /**/ SvANY(av);
- return &(data->xav_alloc);
-}
-
-SV** Perl_macro_AvARYLEN (pTHX_ AV *av) {
- XPVAV* data = (XPVAV*) /**/ SvANY(av);
- return &(data->xav_arylen);
-}
-
-SSize_t* Perl_macro_AvFILLp (pTHX_ AV *av) {
- XPVAV* data = (XPVAV*) /**/ SvANY(av);
- return &(data->xav_fill);
-}
-
-IV* Perl_macro_AvOFF (pTHX_ AV *av) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(av),
- Ponie_P_AVOFF);
-}
-
-
-
void
Perl_av_reify(pTHX_ AV *av)
{
1.8 +7 -7 ponie/perl/av.h
Index: av.h
===================================================================
RCS file: /cvs/public/ponie/perl/av.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- av.h 4 Apr 2005 17:46:11 -0000 1.7
+++ av.h 1 May 2005 17:13:13 -0000 1.8
@@ -60,13 +60,13 @@
#define Nullav Null(AV*)
-#define AvARRAY(av) ( * Perl_macro_AvARRAY(aTHX_ (AV*)(av)) )
-#define AvALLOC(av) ( * Perl_macro_AvALLOC(aTHX_ (AV*)(av)) )
-#define AvMAX(av) ( * Perl_macro_AvMAX(aTHX_ (AV*)(av)) )
-#define AvFILLp(av) ( * Perl_macro_AvFILLp(aTHX_ (AV*)(av)) )
-#define AvARYLEN(av) ( * Perl_macro_AvARYLEN(aTHX_ (AV*)(av)) )
-#define AvFLAGS(av) ( * Perl_macro_AvFLAGS(aTHX_ (AV*)(av)) )
-#define AvOFF(av) ( * Perl_macro_AvOFF(aTHX_ (AV*)(av)) )
+#define AvARRAY(av) ((SV**)((XPVAV*) SvANY(av))->xav_array)
+#define AvALLOC(av) ((XPVAV*) SvANY(av))->xav_alloc
+#define AvMAX(av) ((XPVAV*) SvANY(av))->xav_max
+#define AvFILLp(av) ((XPVAV*) SvANY(av))->xav_fill
+#define AvARYLEN(av) ((XPVAV*) SvANY(av))->xav_arylen
+#define AvFLAGS(av) ((XPVAV*) SvANY(av))->xav_flags
+#define AvOFF(av) (*(IV *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(av),Ponie_P_AVOFF))
#define AvREAL(av) (AvFLAGS(av) & AVf_REAL)
#define AvREAL_on(av) (AvFLAGS(av) |= AVf_REAL)
1.6 +12 -12 ponie/perl/cv.h
Index: cv.h
===================================================================
RCS file: /cvs/public/ponie/perl/cv.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- cv.h 4 Apr 2005 17:46:11 -0000 1.5
+++ cv.h 1 May 2005 17:13:13 -0000 1.6
@@ -52,24 +52,24 @@
#define Nullcv Null(CV*)
-#define CvSTASH(sv) (* Perl_macro_CvSTASH(aTHX_ (SV*) (sv)))
-#define CvSTART(sv) (* Perl_macro_CvSTART(aTHX_ (SV*) (sv)))
-#define CvROOT(sv) (* Perl_macro_CvROOT(aTHX_ (SV*) (sv)))
-#define CvXSUB(sv) (* Perl_macro_CvXSUB(aTHX_ (SV*) (sv)))
-#define CvXSUBANY(sv) (* Perl_macro_CvXSUBANY(aTHX_ (SV*) (sv)))
-#define CvGV(sv) (* Perl_macro_CvGV(aTHX_ (SV*) (sv)))
-#define CvFILE(sv) (* Perl_macro_CvFILE(aTHX_ (SV*) (sv)))
+#define CvSTASH(sv) (*(HV **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CVSTASH))
+#define CvSTART(sv) (*(OP **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CVSTART))
+#define CvROOT(sv) (*(OP **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CVROOT))
+#define CvXSUB(sv) (*(xpvcv_xcv_xsub_t *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CVXSUB))
+#define CvXSUBANY(sv) (*(ANY *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CVXSUBANY))
+#define CvGV(sv) (*(GV **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CVGV))
+#define CvFILE(sv) (*(char **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CVFILE))
#ifdef USE_ITHREADS
# define CvFILE_set_from_cop(sv, cop) (CvFILE(sv) = savepv(CopFILE(cop)))
#else
# define CvFILE_set_from_cop(sv, cop) (CvFILE(sv) = CopFILE(cop))
#endif
#define CvFILEGV(sv) (gv_fetchfile(CvFILE(sv)))
-#define CvDEPTH(sv) (* Perl_macro_CvDEPTH(aTHX_ (SV*) (sv)))
-#define CvPADLIST(sv) (* Perl_macro_CvPADLIST(aTHX_ (SV*) (sv)))
-#define CvOUTSIDE(sv) (* Perl_macro_CvOUTSIDE(aTHX_ (SV*) (sv)))
-#define CvFLAGS(sv) (* Perl_macro_CvFLAGS(aTHX_ (SV*) (sv)))
-#define CvOUTSIDE_SEQ(sv) (* Perl_macro_CvOUTSIDE_SEQ(aTHX_ (SV*) (sv)))
+#define CvDEPTH(sv) (*(long *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CVDEPTH))
+#define CvPADLIST(sv) (*(PADLIST **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CVPADLIST))
+#define CvOUTSIDE(sv) (*(CV **)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CVOUTSIDE))
+#define CvFLAGS(sv) (*(cv_flags_t *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CVFLAGS))
+#define CvOUTSIDE_SEQ(sv) (*(U32 *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CVOUTSIDE_SEQ))
#define CVf_CLONE 0x0001 /* anon CV uses external lexicals */
#define CVf_CLONED 0x0002 /* a clone of one of those */
1.41 +0 -32 ponie/perl/embed.fnc
Index: embed.fnc
===================================================================
RCS file: /cvs/public/ponie/perl/embed.fnc,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- embed.fnc 1 May 2005 16:25:31 -0000 1.40
+++ embed.fnc 1 May 2005 17:13:13 -0000 1.41
@@ -963,45 +963,13 @@
Adp |void |sv_nounlocking |SV *
Adp |int |nothreadhook
-
-Ap |HE*** |macro_HvARRAY |HV *
-Ap |STRLEN* |macro_HvFILL |HV *
-Ap |STRLEN* |macro_HvMAX |HV *
-Ap |I32* |macro_HvRITER |HV *
-Ap |HE** |macro_HvEITER |HV *
-Ap |PMOP** |macro_HvPMROOT |HV *
-Ap |char** |macro_HvNAME |HV *
-Ap |IV* |macro_HvTOTALKEYS |HV *
-Ap |NV* |macro_HvPLACEHOLDERS |HV *
Ap |IV |macro_HvUSEDKEYS |HV *
-Ap |XPVHV* |macro_HvDATA |HV *
-
-Ap |SV*** |macro_AvARRAY |AV *
-Ap |U8*|macro_AvFLAGS |AV *
-Ap |SV***|macro_AvALLOC |AV *
-Ap |SV**|macro_AvARYLEN |AV *
-Ap |SSize_t*|macro_AvFILLp |AV *
-Ap |SSize_t*|macro_AvMAX |AV *
-Ap |IV*|macro_AvOFF |AV *
Ap |GP** |macro_GvGP |GV *
Ap |char** |macro_GvNAME |GV *
Ap |STRLEN* |macro_GvNAMELEN |GV *
Ap |HV** |macro_GvSTASH |GV *
Ap |U8* |macro_GvFLAGS |GV *
-Ap |HV** |macro_CvSTASH |SV *
-Ap |OP** |macro_CvSTART |SV *
-Ap |OP** |macro_CvROOT |SV *
-Ap |xpvcv_xcv_xsub_t*|macro_CvXSUB |SV *
-Ap |ANY* |macro_CvXSUBANY |SV *
-Ap |GV** |macro_CvGV |SV *
-Ap |char** |macro_CvFILE |SV *
-Ap |long* |macro_CvDEPTH |SV *
-Ap |PADLIST** |macro_CvPADLIST |SV *
-Ap |CV** |macro_CvOUTSIDE |SV *
-Ap |cv_flags_t* |macro_CvFLAGS |SV *
-Ap |U32* |macro_CvOUTSIDE_SEQ |SV *
-
END_EXTERN_C
1.31 +0 -92 ponie/perl/embed.h
Index: embed.h
===================================================================
RCS file: /cvs/public/ponie/perl/embed.h,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- embed.h 1 May 2005 16:25:31 -0000 1.30
+++ embed.h 1 May 2005 17:13:13 -0000 1.31
@@ -1243,58 +1243,12 @@
#define sv_nolocking Perl_sv_nolocking
#define sv_nounlocking Perl_sv_nounlocking
#define nothreadhook Perl_nothreadhook
-#define macro_HvARRAY Perl_macro_HvARRAY
-#define macro_HvFILL Perl_macro_HvFILL
-#define macro_HvMAX Perl_macro_HvMAX
-#define macro_HvRITER Perl_macro_HvRITER
-#define macro_HvEITER Perl_macro_HvEITER
-#define macro_HvPMROOT Perl_macro_HvPMROOT
-#define macro_HvNAME Perl_macro_HvNAME
-#define macro_HvTOTALKEYS Perl_macro_HvTOTALKEYS
-#define macro_HvPLACEHOLDERS Perl_macro_HvPLACEHOLDERS
#define macro_HvUSEDKEYS Perl_macro_HvUSEDKEYS
-#define macro_HvDATA Perl_macro_HvDATA
-#define macro_AvARRAY Perl_macro_AvARRAY
-#define macro_AvFLAGS Perl_macro_AvFLAGS
-#define macro_AvALLOC Perl_macro_AvALLOC
-#define macro_AvARYLEN Perl_macro_AvARYLEN
-#define macro_AvFILLp Perl_macro_AvFILLp
-#define macro_AvMAX Perl_macro_AvMAX
-#define macro_AvOFF Perl_macro_AvOFF
-#define macro_IoIFP Perl_macro_IoIFP
-#define macro_IoOFP Perl_macro_IoOFP
-#define macro_IoDIRP Perl_macro_IoDIRP
-#define macro_IoANY Perl_macro_IoANY
-#define macro_IoLINES Perl_macro_IoLINES
-#define macro_IoPAGE Perl_macro_IoPAGE
-#define macro_IoPAGE_LEN Perl_macro_IoPAGE_LEN
-#define macro_IoLINES_LEFT Perl_macro_IoLINES_LEFT
-#define macro_IoTOP_NAME Perl_macro_IoTOP_NAME
-#define macro_IoTOP_GV Perl_macro_IoTOP_GV
-#define macro_IoFMT_NAME Perl_macro_IoFMT_NAME
-#define macro_IoFMT_GV Perl_macro_IoFMT_GV
-#define macro_IoBOTTOM_NAME Perl_macro_IoBOTTOM_NAME
-#define macro_IoBOTTOM_GV Perl_macro_IoBOTTOM_GV
-#define macro_IoSUBPROCESS Perl_macro_IoSUBPROCESS
-#define macro_IoTYPE Perl_macro_IoTYPE
-#define macro_IoFLAGS Perl_macro_IoFLAGS
#define macro_GvGP Perl_macro_GvGP
#define macro_GvNAME Perl_macro_GvNAME
#define macro_GvNAMELEN Perl_macro_GvNAMELEN
#define macro_GvSTASH Perl_macro_GvSTASH
#define macro_GvFLAGS Perl_macro_GvFLAGS
-#define macro_CvSTASH Perl_macro_CvSTASH
-#define macro_CvSTART Perl_macro_CvSTART
-#define macro_CvROOT Perl_macro_CvROOT
-#define macro_CvXSUB Perl_macro_CvXSUB
-#define macro_CvXSUBANY Perl_macro_CvXSUBANY
-#define macro_CvGV Perl_macro_CvGV
-#define macro_CvFILE Perl_macro_CvFILE
-#define macro_CvDEPTH Perl_macro_CvDEPTH
-#define macro_CvPADLIST Perl_macro_CvPADLIST
-#define macro_CvOUTSIDE Perl_macro_CvOUTSIDE
-#define macro_CvFLAGS Perl_macro_CvFLAGS
-#define macro_CvOUTSIDE_SEQ Perl_macro_CvOUTSIDE_SEQ
#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
#define do_trans_simple S_do_trans_simple
@@ -3780,58 +3734,12 @@
#define sv_nolocking(a) Perl_sv_nolocking(aTHX_ a)
#define sv_nounlocking(a) Perl_sv_nounlocking(aTHX_ a)
#define nothreadhook() Perl_nothreadhook(aTHX)
-#define macro_HvARRAY(a) Perl_macro_HvARRAY(aTHX_ a)
-#define macro_HvFILL(a) Perl_macro_HvFILL(aTHX_ a)
-#define macro_HvMAX(a) Perl_macro_HvMAX(aTHX_ a)
-#define macro_HvRITER(a) Perl_macro_HvRITER(aTHX_ a)
-#define macro_HvEITER(a) Perl_macro_HvEITER(aTHX_ a)
-#define macro_HvPMROOT(a) Perl_macro_HvPMROOT(aTHX_ a)
-#define macro_HvNAME(a) Perl_macro_HvNAME(aTHX_ a)
-#define macro_HvTOTALKEYS(a) Perl_macro_HvTOTALKEYS(aTHX_ a)
-#define macro_HvPLACEHOLDERS(a) Perl_macro_HvPLACEHOLDERS(aTHX_ a)
#define macro_HvUSEDKEYS(a) Perl_macro_HvUSEDKEYS(aTHX_ a)
-#define macro_HvDATA(a) Perl_macro_HvDATA(aTHX_ a)
-#define macro_AvARRAY(a) Perl_macro_AvARRAY(aTHX_ a)
-#define macro_AvFLAGS(a) Perl_macro_AvFLAGS(aTHX_ a)
-#define macro_AvALLOC(a) Perl_macro_AvALLOC(aTHX_ a)
-#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_AvOFF(a) Perl_macro_AvOFF(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)
-#define macro_IoANY(a) Perl_macro_IoANY(aTHX_ a)
-#define macro_IoLINES(a) Perl_macro_IoLINES(aTHX_ a)
-#define macro_IoPAGE(a) Perl_macro_IoPAGE(aTHX_ a)
-#define macro_IoPAGE_LEN(a) Perl_macro_IoPAGE_LEN(aTHX_ a)
-#define macro_IoLINES_LEFT(a) Perl_macro_IoLINES_LEFT(aTHX_ a)
-#define macro_IoTOP_NAME(a) Perl_macro_IoTOP_NAME(aTHX_ a)
-#define macro_IoTOP_GV(a) Perl_macro_IoTOP_GV(aTHX_ a)
-#define macro_IoFMT_NAME(a) Perl_macro_IoFMT_NAME(aTHX_ a)
-#define macro_IoFMT_GV(a) Perl_macro_IoFMT_GV(aTHX_ a)
-#define macro_IoBOTTOM_NAME(a) Perl_macro_IoBOTTOM_NAME(aTHX_ a)
-#define macro_IoBOTTOM_GV(a) Perl_macro_IoBOTTOM_GV(aTHX_ a)
-#define macro_IoSUBPROCESS(a) Perl_macro_IoSUBPROCESS(aTHX_ a)
-#define macro_IoTYPE(a) Perl_macro_IoTYPE(aTHX_ a)
-#define macro_IoFLAGS(a) Perl_macro_IoFLAGS(aTHX_ a)
#define macro_GvGP(a) Perl_macro_GvGP(aTHX_ a)
#define macro_GvNAME(a) Perl_macro_GvNAME(aTHX_ a)
#define macro_GvNAMELEN(a) Perl_macro_GvNAMELEN(aTHX_ a)
#define macro_GvSTASH(a) Perl_macro_GvSTASH(aTHX_ a)
#define macro_GvFLAGS(a) Perl_macro_GvFLAGS(aTHX_ a)
-#define macro_CvSTASH(a) Perl_macro_CvSTASH(aTHX_ a)
-#define macro_CvSTART(a) Perl_macro_CvSTART(aTHX_ a)
-#define macro_CvROOT(a) Perl_macro_CvROOT(aTHX_ a)
-#define macro_CvXSUB(a) Perl_macro_CvXSUB(aTHX_ a)
-#define macro_CvXSUBANY(a) Perl_macro_CvXSUBANY(aTHX_ a)
-#define macro_CvGV(a) Perl_macro_CvGV(aTHX_ a)
-#define macro_CvFILE(a) Perl_macro_CvFILE(aTHX_ a)
-#define macro_CvDEPTH(a) Perl_macro_CvDEPTH(aTHX_ a)
-#define macro_CvPADLIST(a) Perl_macro_CvPADLIST(aTHX_ a)
-#define macro_CvOUTSIDE(a) Perl_macro_CvOUTSIDE(aTHX_ a)
-#define macro_CvFLAGS(a) Perl_macro_CvFLAGS(aTHX_ a)
-#define macro_CvOUTSIDE_SEQ(a) Perl_macro_CvOUTSIDE_SEQ(aTHX_ a)
#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
#define do_trans_simple(a) S_do_trans_simple(aTHX_ a)
1.24 +0 -46 ponie/perl/global.sym
Index: global.sym
===================================================================
RCS file: /cvs/public/ponie/perl/global.sym,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- global.sym 1 May 2005 16:25:31 -0000 1.23
+++ global.sym 1 May 2005 17:13:13 -0000 1.24
@@ -633,58 +633,12 @@
Perl_sv_nolocking
Perl_sv_nounlocking
Perl_nothreadhook
-Perl_macro_HvARRAY
-Perl_macro_HvFILL
-Perl_macro_HvMAX
-Perl_macro_HvRITER
-Perl_macro_HvEITER
-Perl_macro_HvPMROOT
-Perl_macro_HvNAME
-Perl_macro_HvTOTALKEYS
-Perl_macro_HvPLACEHOLDERS
Perl_macro_HvUSEDKEYS
-Perl_macro_HvDATA
-Perl_macro_AvARRAY
-Perl_macro_AvFLAGS
-Perl_macro_AvALLOC
-Perl_macro_AvARYLEN
-Perl_macro_AvFILLp
-Perl_macro_AvMAX
-Perl_macro_AvOFF
-Perl_macro_IoIFP
-Perl_macro_IoOFP
-Perl_macro_IoDIRP
-Perl_macro_IoANY
-Perl_macro_IoLINES
-Perl_macro_IoPAGE
-Perl_macro_IoPAGE_LEN
-Perl_macro_IoLINES_LEFT
-Perl_macro_IoTOP_NAME
-Perl_macro_IoTOP_GV
-Perl_macro_IoFMT_NAME
-Perl_macro_IoFMT_GV
-Perl_macro_IoBOTTOM_NAME
-Perl_macro_IoBOTTOM_GV
-Perl_macro_IoSUBPROCESS
-Perl_macro_IoTYPE
-Perl_macro_IoFLAGS
Perl_macro_GvGP
Perl_macro_GvNAME
Perl_macro_GvNAMELEN
Perl_macro_GvSTASH
Perl_macro_GvFLAGS
-Perl_macro_CvSTASH
-Perl_macro_CvSTART
-Perl_macro_CvROOT
-Perl_macro_CvXSUB
-Perl_macro_CvXSUBANY
-Perl_macro_CvGV
-Perl_macro_CvFILE
-Perl_macro_CvDEPTH
-Perl_macro_CvPADLIST
-Perl_macro_CvOUTSIDE
-Perl_macro_CvFLAGS
-Perl_macro_CvOUTSIDE_SEQ
Perl_Slab_Alloc
Perl_Slab_Free
Perl_sv_setsv_flags
1.14 +0 -50 ponie/perl/hv.c
Index: hv.c
===================================================================
RCS file: /cvs/public/ponie/perl/hv.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- hv.c 4 Apr 2005 17:46:11 -0000 1.13
+++ hv.c 1 May 2005 17:13:13 -0000 1.14
@@ -33,56 +33,6 @@
#define HV_MAX_LENGTH_BEFORE_SPLIT 14
-HE*** Perl_macro_HvARRAY (pTHX_ HV *hv) {
- XPVHV* data = (XPVHV*) /**/ SvANY(hv);
- return (HE***)&data->xhv_array;
-}
-
-
-XPVHV* Perl_macro_HvDATA (pTHX_ HV *hv) {
- return (XPVHV*) /**/ SvANY(hv);
-}
-
-STRLEN* Perl_macro_HvFILL (pTHX_ HV *hv) {
- XPVHV* data = (XPVHV*) /**/ SvANY(hv);
- return &(data->xhv_fill);
-}
-
-STRLEN* Perl_macro_HvMAX (pTHX_ HV *hv) {
- XPVHV* data = (XPVHV*) /**/ SvANY(hv);
- return &(data->xhv_max);
-}
-
-I32* Perl_macro_HvRITER (pTHX_ HV *hv) {
- XPVHV* data = (XPVHV*) /**/ SvANY(hv);
- return &(data->xhv_riter);
-}
-
-HE** Perl_macro_HvEITER (pTHX_ HV *hv) {
- XPVHV* data = (XPVHV*) /**/ SvANY(hv);
- return &(data->xhv_eiter);
-}
-
-PMOP** Perl_macro_HvPMROOT (pTHX_ HV *hv) {
- XPVHV* data = (XPVHV*) /**/ SvANY(hv);
- return &(data->xhv_pmroot);
-}
-
-char** Perl_macro_HvNAME (pTHX_ HV *hv) {
- XPVHV* data = (XPVHV*) /**/ SvANY(hv);
- return &(data->xhv_name);
-}
-
-IV* Perl_macro_HvTOTALKEYS (pTHX_ HV *hv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(hv),
- Ponie_P_HVKEYS);
-}
-
-NV* Perl_macro_HvPLACEHOLDERS (pTHX_ HV *hv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(hv),
- Ponie_P_HVPLACEHOLDERS);
-}
-
IV Perl_macro_HvUSEDKEYS (pTHX_ HV *hv) {
return HvTOTALKEYS(hv) - (IV)HvPLACEHOLDERS(hv);
}
1.11 +10 -13 ponie/perl/hv.h
Index: hv.h
===================================================================
RCS file: /cvs/public/ponie/perl/hv.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- hv.h 4 Apr 2005 17:46:11 -0000 1.10
+++ hv.h 1 May 2005 17:13:13 -0000 1.11
@@ -173,19 +173,16 @@
#define Nullhv Null(HV*)
-
-
-
-#define HvARRAY(hv) (* Perl_macro_HvARRAY (aTHX_ (HV*)(hv)) )
-#define HvFILL(hv) (* Perl_macro_HvFILL (aTHX_ (HV*)(hv)) )
-#define HvMAX(hv) (* Perl_macro_HvMAX (aTHX_ (HV*)(hv)) )
-#define HvRITER(hv) (* Perl_macro_HvRITER (aTHX_ (HV*)(hv)) )
-#define HvEITER(hv) (* Perl_macro_HvEITER (aTHX_ (HV*)(hv)) )
-#define HvPMROOT(hv) (* Perl_macro_HvPMROOT (aTHX_ (HV*)(hv)) )
-#define HvNAME(hv) (* Perl_macro_HvNAME (aTHX_ (HV*)(hv)) )
+#define HvARRAY(hv) (*(HE***)&((XPVHV*) SvANY(hv))->xhv_array)
+#define HvFILL(hv) ((XPVHV*) SvANY(hv))->xhv_fill
+#define HvMAX(hv) ((XPVHV*) SvANY(hv))->xhv_max
+#define HvRITER(hv) ((XPVHV*) SvANY(hv))->xhv_riter
+#define HvEITER(hv) ((XPVHV*) SvANY(hv))->xhv_eiter
+#define HvPMROOT(hv) ((XPVHV*) SvANY(hv))->xhv_pmroot
+#define HvNAME(hv) ((XPVHV*) SvANY(hv))->xhv_name
/* Sadly we can't do this as an LVALUE */
-#define HvDATA(hv) (Perl_macro_HvDATA (aTHX_ (HV*)(hv)) )
+#define HvDATA(hv) ((XPVHV*) SvANY(hv))
/*
* HvKEYS gets the number of keys that actually exist(), and is provided
@@ -194,8 +191,8 @@
*/
#define HvKEYS(hv) HvUSEDKEYS(hv)
#define HvUSEDKEYS(hv) (Perl_macro_HvUSEDKEYS(aTHX_ (HV*)(hv)))
-#define HvTOTALKEYS(hv) (*Perl_macro_HvTOTALKEYS(aTHX_ (HV*)(hv)))
-#define HvPLACEHOLDERS(hv) (*Perl_macro_HvPLACEHOLDERS(aTHX_ (HV*)(hv)))
+#define HvTOTALKEYS(hv) (*(IV *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(hv),Ponie_P_HVKEYS))
+#define HvPLACEHOLDERS(hv) (*(NV *)Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(hv),Ponie_P_HVPLACEHOLDERS))
#define HvSHAREKEYS(sv) ((U32)Parrot_PMC_get_intval_intkey(PL_Parrot,MUMBLE(sv), Ponie_I_HV_SHAREKEYS))
#define HvSHAREKEYS_on(sv) Parrot_PMC_set_intval_intkey(PL_Parrot,MUMBLE(sv), Ponie_I_HV_SHAREKEYS, 1)
1.41 +0 -49 ponie/perl/proto.h
Index: proto.h
===================================================================
RCS file: /cvs/public/ponie/perl/proto.h,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- proto.h 1 May 2005 16:25:31 -0000 1.40
+++ proto.h 1 May 2005 17:13:13 -0000 1.41
@@ -923,62 +923,13 @@
PERL_CALLCONV void Perl_sv_nounlocking(pTHX_ SV *);
PERL_CALLCONV int Perl_nothreadhook(pTHX);
-
-PERL_CALLCONV HE*** Perl_macro_HvARRAY(pTHX_ HV *);
-PERL_CALLCONV STRLEN* Perl_macro_HvFILL(pTHX_ HV *);
-PERL_CALLCONV STRLEN* Perl_macro_HvMAX(pTHX_ HV *);
-PERL_CALLCONV I32* Perl_macro_HvRITER(pTHX_ HV *);
-PERL_CALLCONV HE** Perl_macro_HvEITER(pTHX_ HV *);
-PERL_CALLCONV PMOP** Perl_macro_HvPMROOT(pTHX_ HV *);
-PERL_CALLCONV char** Perl_macro_HvNAME(pTHX_ HV *);
-PERL_CALLCONV IV* Perl_macro_HvTOTALKEYS(pTHX_ HV *);
-PERL_CALLCONV NV* Perl_macro_HvPLACEHOLDERS(pTHX_ HV *);
PERL_CALLCONV IV Perl_macro_HvUSEDKEYS(pTHX_ HV *);
-PERL_CALLCONV XPVHV* Perl_macro_HvDATA(pTHX_ HV *);
-PERL_CALLCONV SV*** Perl_macro_AvARRAY(pTHX_ AV *);
-PERL_CALLCONV U8* Perl_macro_AvFLAGS(pTHX_ AV *);
-PERL_CALLCONV SV*** Perl_macro_AvALLOC(pTHX_ AV *);
-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 IV* Perl_macro_AvOFF(pTHX_ AV *);
-
-PERL_CALLCONV PerlIO** Perl_macro_IoIFP(pTHX_ SV *);
-PERL_CALLCONV PerlIO** Perl_macro_IoOFP(pTHX_ SV *);
-PERL_CALLCONV DIR** Perl_macro_IoDIRP(pTHX_ SV *);
-PERL_CALLCONV void** Perl_macro_IoANY(pTHX_ SV *);
-PERL_CALLCONV IV* Perl_macro_IoLINES(pTHX_ SV *);
-PERL_CALLCONV IV* Perl_macro_IoPAGE(pTHX_ SV *);
-PERL_CALLCONV IV* Perl_macro_IoPAGE_LEN(pTHX_ SV *);
-PERL_CALLCONV IV* Perl_macro_IoLINES_LEFT(pTHX_ SV *);
-PERL_CALLCONV char** Perl_macro_IoTOP_NAME(pTHX_ SV *);
-PERL_CALLCONV GV ** Perl_macro_IoTOP_GV(pTHX_ SV *);
-PERL_CALLCONV char** Perl_macro_IoFMT_NAME(pTHX_ SV *);
-PERL_CALLCONV GV** Perl_macro_IoFMT_GV(pTHX_ SV *);
-PERL_CALLCONV char** Perl_macro_IoBOTTOM_NAME(pTHX_ SV *);
-PERL_CALLCONV GV** Perl_macro_IoBOTTOM_GV(pTHX_ SV *);
-PERL_CALLCONV short* Perl_macro_IoSUBPROCESS(pTHX_ SV *);
-PERL_CALLCONV char* Perl_macro_IoTYPE(pTHX_ SV *);
-PERL_CALLCONV char* Perl_macro_IoFLAGS(pTHX_ SV *);
PERL_CALLCONV GP** Perl_macro_GvGP(pTHX_ GV *);
PERL_CALLCONV char** Perl_macro_GvNAME(pTHX_ GV *);
PERL_CALLCONV STRLEN* Perl_macro_GvNAMELEN(pTHX_ GV *);
PERL_CALLCONV HV** Perl_macro_GvSTASH(pTHX_ GV *);
PERL_CALLCONV U8* Perl_macro_GvFLAGS(pTHX_ GV *);
-PERL_CALLCONV HV** Perl_macro_CvSTASH(pTHX_ SV *);
-PERL_CALLCONV OP** Perl_macro_CvSTART(pTHX_ SV *);
-PERL_CALLCONV OP** Perl_macro_CvROOT(pTHX_ SV *);
-PERL_CALLCONV xpvcv_xcv_xsub_t* Perl_macro_CvXSUB(pTHX_ SV *);
-PERL_CALLCONV ANY* Perl_macro_CvXSUBANY(pTHX_ SV *);
-PERL_CALLCONV GV** Perl_macro_CvGV(pTHX_ SV *);
-PERL_CALLCONV char** Perl_macro_CvFILE(pTHX_ SV *);
-PERL_CALLCONV long* Perl_macro_CvDEPTH(pTHX_ SV *);
-PERL_CALLCONV PADLIST** Perl_macro_CvPADLIST(pTHX_ SV *);
-PERL_CALLCONV CV** Perl_macro_CvOUTSIDE(pTHX_ SV *);
-PERL_CALLCONV cv_flags_t* Perl_macro_CvFLAGS(pTHX_ SV *);
-PERL_CALLCONV U32* Perl_macro_CvOUTSIDE_SEQ(pTHX_ SV *);
-
END_EXTERN_C
1.77 +0 -51 ponie/perl/sv.c
Index: sv.c
===================================================================
RCS file: /cvs/public/ponie/perl/sv.c,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -r1.76 -r1.77
--- sv.c 1 May 2005 16:25:31 -0000 1.76
+++ sv.c 1 May 2005 17:13:13 -0000 1.77
@@ -1062,57 +1062,6 @@
"", "", "");
}
-HV** Perl_macro_CvSTASH (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CVSTASH);
-}
-
-OP** Perl_macro_CvSTART (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CVSTART);
-
-}
-
-OP** Perl_macro_CvROOT (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CVROOT);
-
-}
-
-xpvcv_xcv_xsub_t * Perl_macro_CvXSUB (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CVXSUB);
-
-}
-
-ANY* Perl_macro_CvXSUBANY (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CVXSUBANY);
-}
-
-GV** Perl_macro_CvGV (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CVGV);
-}
-
-char** Perl_macro_CvFILE (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CVFILE);
-}
-
-long* Perl_macro_CvDEPTH (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CVDEPTH);
-}
-
-PADLIST** Perl_macro_CvPADLIST (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CVPADLIST);
-}
-
-CV** Perl_macro_CvOUTSIDE (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CVOUTSIDE);
-}
-
-cv_flags_t* Perl_macro_CvFLAGS (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CVFLAGS);
-}
-
-U32* Perl_macro_CvOUTSIDE_SEQ (pTHX_ SV *sv) {
- return Parrot_PMC_get_pointer_intkey(PL_Parrot,MUMBLE(sv), Ponie_P_CVOUTSIDE_SEQ);
-}
-
/*
=for apidoc sv_upgrade