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);
+ }
+ }
}
/*