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