cvs commit: ponie/src/pmc perl5pvhv.pmc

[email protected] (Nicholas Clark) 1 May 2005 17:35:10 -0000
Newsgroups perl.ponie.changes
Message-ID <[email protected]>
cvsuser     05/05/01 10:35:10

  Modified:    perl     embed.fnc embed.h global.sym hv.c hv.h proto.h sv.h
               src/pmc  perl5pvhv.pmc
  Log:
  Remove macro_HvUSEDKEYS, replacing it with a call into the PMC to calculate
  the used keys.
  
  Revision  Changes    Path
  1.42      +0 -2      ponie/perl/embed.fnc
  
  Index: embed.fnc
  ===================================================================
  RCS file: /cvs/public/ponie/perl/embed.fnc,v
  retrieving revision 1.41
  retrieving revision 1.42
  diff -u -r1.41 -r1.42
  --- embed.fnc	1 May 2005 17:13:13 -0000	1.41
  +++ embed.fnc	1 May 2005 17:35:10 -0000	1.42
  @@ -963,8 +963,6 @@
   Adp	|void	|sv_nounlocking	|SV *
   Adp	|int	|nothreadhook
   
  -Ap	|IV	|macro_HvUSEDKEYS	|HV *
  -
   Ap	|GP**	|macro_GvGP	|GV *
   Ap	|char**	|macro_GvNAME	|GV *
   Ap	|STRLEN*	|macro_GvNAMELEN	|GV *
  
  
  
  1.32      +0 -2      ponie/perl/embed.h
  
  Index: embed.h
  ===================================================================
  RCS file: /cvs/public/ponie/perl/embed.h,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- embed.h	1 May 2005 17:13:13 -0000	1.31
  +++ embed.h	1 May 2005 17:35:10 -0000	1.32
  @@ -1243,7 +1243,6 @@
   #define sv_nolocking		Perl_sv_nolocking
   #define sv_nounlocking		Perl_sv_nounlocking
   #define nothreadhook		Perl_nothreadhook
  -#define macro_HvUSEDKEYS	Perl_macro_HvUSEDKEYS
   #define macro_GvGP		Perl_macro_GvGP
   #define macro_GvNAME		Perl_macro_GvNAME
   #define macro_GvNAMELEN		Perl_macro_GvNAMELEN
  @@ -3734,7 +3733,6 @@
   #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_HvUSEDKEYS(a)	Perl_macro_HvUSEDKEYS(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)
  
  
  
  1.25      +0 -1      ponie/perl/global.sym
  
  Index: global.sym
  ===================================================================
  RCS file: /cvs/public/ponie/perl/global.sym,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- global.sym	1 May 2005 17:13:13 -0000	1.24
  +++ global.sym	1 May 2005 17:35:10 -0000	1.25
  @@ -633,7 +633,6 @@
   Perl_sv_nolocking
   Perl_sv_nounlocking
   Perl_nothreadhook
  -Perl_macro_HvUSEDKEYS
   Perl_macro_GvGP
   Perl_macro_GvNAME
   Perl_macro_GvNAMELEN
  
  
  
  1.15      +0 -4      ponie/perl/hv.c
  
  Index: hv.c
  ===================================================================
  RCS file: /cvs/public/ponie/perl/hv.c,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- hv.c	1 May 2005 17:13:13 -0000	1.14
  +++ hv.c	1 May 2005 17:35:10 -0000	1.15
  @@ -33,10 +33,6 @@
   
   #define HV_MAX_LENGTH_BEFORE_SPLIT 14
   
  -IV Perl_macro_HvUSEDKEYS (pTHX_ HV *hv) {
  -  return HvTOTALKEYS(hv) - (IV)HvPLACEHOLDERS(hv);
  -}
  -
   STATIC HE*
   S_new_he(pTHX)
   {
  
  
  
  1.12      +1 -1      ponie/perl/hv.h
  
  Index: hv.h
  ===================================================================
  RCS file: /cvs/public/ponie/perl/hv.h,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- hv.h	1 May 2005 17:13:13 -0000	1.11
  +++ hv.h	1 May 2005 17:35:10 -0000	1.12
  @@ -190,7 +190,7 @@
    * (keys, excluding placeholdes) and HvTOTALKEYS (including placeholders)
    */
   #define HvKEYS(hv)		HvUSEDKEYS(hv)
  -#define HvUSEDKEYS(hv)		(Perl_macro_HvUSEDKEYS(aTHX_ (HV*)(hv)))
  +#define HvUSEDKEYS(hv)		((U32)Parrot_PMC_get_intval_intkey(PL_Parrot,MUMBLE(hv), Ponie_I_HV_USEDKEYS))
   #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))
   
  
  
  
  1.42      +0 -2      ponie/perl/proto.h
  
  Index: proto.h
  ===================================================================
  RCS file: /cvs/public/ponie/perl/proto.h,v
  retrieving revision 1.41
  retrieving revision 1.42
  diff -u -r1.41 -r1.42
  --- proto.h	1 May 2005 17:13:13 -0000	1.41
  +++ proto.h	1 May 2005 17:35:10 -0000	1.42
  @@ -923,8 +923,6 @@
   PERL_CALLCONV void	Perl_sv_nounlocking(pTHX_ SV *);
   PERL_CALLCONV int	Perl_nothreadhook(pTHX);
   
  -PERL_CALLCONV IV	Perl_macro_HvUSEDKEYS(pTHX_ HV *);
  -
   PERL_CALLCONV GP**	Perl_macro_GvGP(pTHX_ GV *);
   PERL_CALLCONV char**	Perl_macro_GvNAME(pTHX_ GV *);
   PERL_CALLCONV STRLEN*	Perl_macro_GvNAMELEN(pTHX_ GV *);
  
  
  
  1.79      +1 -0      ponie/perl/sv.h
  
  Index: sv.h
  ===================================================================
  RCS file: /cvs/public/ponie/perl/sv.h,v
  retrieving revision 1.78
  retrieving revision 1.79
  diff -u -r1.78 -r1.79
  --- sv.h	1 May 2005 16:25:31 -0000	1.78
  +++ sv.h	1 May 2005 17:35:10 -0000	1.79
  @@ -329,6 +329,7 @@
     Ponie_I_SV_TAIL,
     Ponie_I_SV_VALID,
     Ponie_I_HV_SHAREKEYS,
  +  Ponie_I_HV_USEDKEYS,
     Ponie_I_HV_HASKFLAGS,
     Ponie_I_HV_LAZYDEL,
     Ponie_I_HV_REHASH,
  
  
  
  1.6       +10 -1     ponie/src/pmc/perl5pvhv.pmc
  
  Index: perl5pvhv.pmc
  ===================================================================
  RCS file: /cvs/public/ponie/src/pmc/perl5pvhv.pmc,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- perl5pvhv.pmc	30 Apr 2005 22:00:13 -0000	1.5
  +++ perl5pvhv.pmc	1 May 2005 17:35:10 -0000	1.6
  @@ -108,6 +108,15 @@
               SUPER(key, value);
           }
       }
  +
  +    INTVAL get_integer_keyed_int(INTVAL key) {
  +        switch (key) {
  +        case Ponie_I_HV_USEDKEYS:
  +            return HvTOTALKEYS(MUMBLE(pmc)) - (IV)HvPLACEHOLDERS(MUMBLE(pmc));
  +        default:
  +            return SUPER(key);
  +        }
  +    }
   }
   
   /*