cvs commit: ponie/perl embed.fnc embed.h global.sym hv.c hv.h proto.h
[email protected] (Arthur Bergman) 26 Feb 2004 14:28:40 -0000
| Newsgroups | perl.ponie.changes |
|---|---|
| Message-ID | <[email protected]> |
cvsuser 04/02/26 06:28:40
Modified: perl embed.fnc embed.h global.sym hv.c hv.h proto.h
Log:
change hashes to use indirect access
Revision Changes Path
1.8 +11 -0 ponie/perl/embed.fnc
Index: embed.fnc
===================================================================
RCS file: /cvs/public/ponie/perl/embed.fnc,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -w -r1.7 -r1.8
--- embed.fnc 26 Feb 2004 11:42:49 -0000 1.7
+++ embed.fnc 26 Feb 2004 14:28:40 -0000 1.8
@@ -968,6 +968,16 @@
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_XHvTOTALKEYS |HV *
+Ap |NV* |macro_XHvPLACEHOLDERS |HV *
+
Ap |SV*** |macro_AvARRAY |AV *
Ap |U8*|macro_AvFLAGS |AV *
Ap |SV***|macro_AvALLOC |AV *
@@ -982,6 +992,7 @@
Ap |HV** |macro_SvSTASH |SV *
Ap |char** |macro_LvTYPE |SV *
Ap |SV** |macro_LvTARG |SV *
+
END_EXTERN_C
1.8 +18 -0 ponie/perl/embed.h
Index: embed.h
===================================================================
RCS file: /cvs/public/ponie/perl/embed.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -w -r1.7 -r1.8
--- embed.h 26 Feb 2004 11:42:49 -0000 1.7
+++ embed.h 26 Feb 2004 14:28:40 -0000 1.8
@@ -1255,6 +1255,15 @@
#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_XHvTOTALKEYS Perl_macro_XHvTOTALKEYS
+#define macro_XHvPLACEHOLDERS Perl_macro_XHvPLACEHOLDERS
#define macro_AvARRAY Perl_macro_AvARRAY
#define macro_AvFLAGS Perl_macro_AvFLAGS
#define macro_AvALLOC Perl_macro_AvALLOC
@@ -3751,6 +3760,15 @@
#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_XHvTOTALKEYS(a) Perl_macro_XHvTOTALKEYS(aTHX_ a)
+#define macro_XHvPLACEHOLDERS(a) Perl_macro_XHvPLACEHOLDERS(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)
1.8 +9 -0 ponie/perl/global.sym
Index: global.sym
===================================================================
RCS file: /cvs/public/ponie/perl/global.sym,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -w -r1.7 -r1.8
--- global.sym 26 Feb 2004 11:42:49 -0000 1.7
+++ global.sym 26 Feb 2004 14:28:40 -0000 1.8
@@ -628,6 +628,15 @@
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_XHvTOTALKEYS
+Perl_macro_XHvPLACEHOLDERS
Perl_macro_AvARRAY
Perl_macro_AvFLAGS
Perl_macro_AvALLOC
1.2 +39 -0 ponie/perl/hv.c
Index: hv.c
===================================================================
RCS file: /cvs/public/ponie/perl/hv.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -w -r1.1 -r1.2
--- hv.c 9 Sep 2003 11:58:49 -0000 1.1
+++ hv.c 26 Feb 2004 14:28:40 -0000 1.2
@@ -20,6 +20,45 @@
#define PERL_IN_HV_C
#include "perl.h"
+HE*** Perl_macro_HvARRAY (pTHX_ HV *hv) {
+ HE** he = (HE**)hv->sv_any->xhv_array;
+ return &(he);
+}
+
+STRLEN* Perl_macro_HvFILL (pTHX_ HV *hv) {
+ return &(hv->sv_any->xhv_fill);
+}
+
+STRLEN* Perl_macro_HvMAX (pTHX_ HV *hv) {
+ return &(hv->sv_any->xhv_max);
+}
+
+I32* Perl_macro_HvRITER (pTHX_ HV *hv) {
+ return &(hv->sv_any->xhv_riter);
+}
+
+HE** Perl_macro_HvEITER (pTHX_ HV *hv) {
+ return &(hv->sv_any->xhv_eiter);
+}
+
+PMOP** Perl_macro_HvPMROOT (pTHX_ HV *hv) {
+ return &(hv->sv_any->xhv_pmroot);
+}
+
+char** Perl_macro_HvNAME (pTHX_ HV *hv) {
+ return &(hv->sv_any->xhv_name);
+}
+
+IV* Perl_macro_XHvTOTALKEYS (pTHX_ HV *hv) {
+ return &(hv->sv_any->xhv_keys);
+}
+
+NV* Perl_macro_XHvPLACEHOLDERS (pTHX_ HV *hv) {
+ return &(hv->sv_any->xhv_placeholders);
+}
+
+
+
STATIC HE*
S_new_he(pTHX)
{
1.2 +9 -0 ponie/perl/hv.h
Index: hv.h
===================================================================
RCS file: /cvs/public/ponie/perl/hv.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -w -r1.1 -r1.2
--- hv.h 9 Sep 2003 11:58:49 -0000 1.1
+++ hv.h 26 Feb 2004 14:28:40 -0000 1.2
@@ -171,6 +171,15 @@
/* The number of placeholders in the enumerated-keys hash */
#define XHvPLACEHOLDERS(xhv) ((xhv)->xhv_placeholders)
+
+#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) )
+
/* the number of keys that exist() (i.e. excluding placeholders) */
#define XHvUSEDKEYS(xhv) (XHvTOTALKEYS(xhv) - (IV)XHvPLACEHOLDERS(xhv))
1.8 +11 -0 ponie/perl/proto.h
Index: proto.h
===================================================================
RCS file: /cvs/public/ponie/perl/proto.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -w -r1.7 -r1.8
--- proto.h 26 Feb 2004 11:42:49 -0000 1.7
+++ proto.h 26 Feb 2004 14:28:40 -0000 1.8
@@ -926,6 +926,16 @@
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_XHvTOTALKEYS(pTHX_ HV *);
+PERL_CALLCONV NV* Perl_macro_XHvPLACEHOLDERS(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 *);
@@ -940,6 +950,7 @@
PERL_CALLCONV HV** Perl_macro_SvSTASH(pTHX_ SV *);
PERL_CALLCONV char** Perl_macro_LvTYPE(pTHX_ SV *);
PERL_CALLCONV SV** Perl_macro_LvTARG(pTHX_ SV *);
+
END_EXTERN_C