develooper Front page | perl.perl5.porters | Postings from June 2001

[PATCH #6,7/7] xhv_pmroot, xhv_riter

Thread Previous | Thread Next
From:
Abhijit Menon-Sen
Date:
June 16, 2001 20:21
Subject:
[PATCH #6,7/7] xhv_pmroot, xhv_riter
Message ID:
20010617085111.F28776@lustre.linux.in
Done.

- ams

--- perl/hv.c6~	Sun Jun 17 08:42:48 2001
+++ perl/hv.c	Sun Jun 17 08:48:36 2001
@@ -147,7 +147,6 @@
 SV**
 Perl_hv_fetch(pTHX_ HV *hv, const char *key, I32 klen, I32 lval)
 {
-    register XPVHV* xhv;
     register U32 hash;
     register HE *entry;
     SV *sv;
@@ -184,7 +183,6 @@
 #endif
     }
 
-    xhv = (XPVHV*)SvANY(hv);
     if (!HvARRAY(hv)) {
 	if (lval
 #ifdef DYNAMIC_ENV_FETCH  /* if it's an %ENV lookup, we may get it on the fly */
@@ -271,7 +269,6 @@
 HE *
 Perl_hv_fetch_ent(pTHX_ HV *hv, SV *keysv, I32 lval, register U32 hash)
 {
-    register XPVHV* xhv;
     register char *key;
     STRLEN klen;
     register HE *entry;
@@ -313,7 +310,6 @@
 #endif
     }
 
-    xhv = (XPVHV*)SvANY(hv);
     if (!HvARRAY(hv)) {
 	if (lval
 #ifdef DYNAMIC_ENV_FETCH  /* if it's an %ENV lookup, we may get it on the fly */
@@ -409,7 +405,6 @@
 SV**
 Perl_hv_store(pTHX_ HV *hv, const char *key, I32 klen, SV *val, register U32 hash)
 {
-    register XPVHV* xhv;
     register I32 i;
     register HE *entry;
     register HE **oentry;
@@ -424,7 +419,6 @@
       is_utf8 = TRUE;
     }
 
-    xhv = (XPVHV*)SvANY(hv);
     if (SvMAGICAL(hv)) {
 	bool needs_copy;
 	bool needs_store;
@@ -518,7 +512,6 @@
 HE *
 Perl_hv_store_ent(pTHX_ HV *hv, SV *keysv, SV *val, register U32 hash)
 {
-    register XPVHV* xhv;
     register char *key;
     STRLEN klen;
     register I32 i;
@@ -530,7 +523,6 @@
     if (!hv)
 	return 0;
 
-    xhv = (XPVHV*)SvANY(hv);
     if (SvMAGICAL(hv)) {
  	bool needs_copy;
  	bool needs_store;
@@ -622,7 +614,6 @@
 SV *
 Perl_hv_delete(pTHX_ HV *hv, const char *key, I32 klen, I32 flags)
 {
-    register XPVHV* xhv;
     register I32 i;
     register U32 hash;
     register HE *entry;
@@ -662,7 +653,6 @@
 #endif
         }
     }
-    xhv = (XPVHV*)SvANY(hv);
     if (!HvARRAY(hv))
 	return Nullsv;
 
@@ -724,7 +714,6 @@
 SV *
 Perl_hv_delete_ent(pTHX_ HV *hv, SV *keysv, I32 flags, U32 hash)
 {
-    register XPVHV* xhv;
     register I32 i;
     register char *key;
     STRLEN klen;
@@ -762,7 +751,6 @@
 #endif
 	}
     }
-    xhv = (XPVHV*)SvANY(hv);
     if (!HvARRAY(hv))
 	return Nullsv;
 
@@ -822,7 +810,6 @@
 bool
 Perl_hv_exists(pTHX_ HV *hv, const char *key, I32 klen)
 {
-    register XPVHV* xhv;
     register U32 hash;
     register HE *entry;
     SV *sv;
@@ -852,7 +839,6 @@
 #endif
     }
 
-    xhv = (XPVHV*)SvANY(hv);
 #ifndef DYNAMIC_ENV_FETCH
     if (!HvARRAY(hv))
 	return 0;
@@ -916,7 +902,6 @@
 bool
 Perl_hv_exists_ent(pTHX_ HV *hv, SV *keysv, U32 hash)
 {
-    register XPVHV* xhv;
     register char *key;
     STRLEN klen;
     register HE *entry;
@@ -946,7 +931,6 @@
 #endif
     }
 
-    xhv = (XPVHV*)SvANY(hv);
 #ifndef DYNAMIC_ENV_FETCH
     if (!HvARRAY(hv))
 	return 0;
@@ -1143,11 +1127,9 @@
 Perl_newHV(pTHX)
 {
     register HV *hv;
-    register XPVHV* xhv;
 
     hv = (HV*)NEWSV(502,0);
     sv_upgrade((SV *)hv, SVt_PVHV);
-    xhv = (XPVHV*)SvANY(hv);
     SvPOK_off(hv);
     SvNOK_off(hv);
 #ifndef NODEFAULT_SHAREKEYS
@@ -1155,7 +1137,7 @@
 #endif
     HvMAX(hv) = 7;		/* start with 8 buckets */
     HvFILL(hv) = 0;
-    xhv->xhv_pmroot = 0;
+    HvPMROOT(hv) = 0;
     (void)hv_iterinit(hv);	/* so each() will start off right */
     return hv;
 }
@@ -1250,10 +1232,8 @@
 void
 Perl_hv_clear(pTHX_ HV *hv)
 {
-    register XPVHV* xhv;
     if (!hv)
 	return;
-    xhv = (XPVHV*)SvANY(hv);
     hfreeentries(hv);
     HvFILL(hv) = 0;
     HvKEYS(hv) = 0;
@@ -1308,10 +1288,8 @@
 void
 Perl_hv_undef(pTHX_ HV *hv)
 {
-    register XPVHV* xhv;
     if (!hv)
 	return;
-    xhv = (XPVHV*)SvANY(hv);
     hfreeentries(hv);
     Safefree(HvARRAY(hv));
     if (HvNAME(hv)) {
@@ -1344,18 +1322,16 @@
 I32
 Perl_hv_iterinit(pTHX_ HV *hv)
 {
-    register XPVHV* xhv;
     HE *entry;
 
     if (!hv)
 	Perl_croak(aTHX_ "Bad hash");
-    xhv = (XPVHV*)SvANY(hv);
     entry = HvEITER(hv);
     if (entry && HvLAZYDEL(hv)) {	/* was deleted earlier? */
 	HvLAZYDEL_off(hv);
 	hv_free_ent(hv, entry);
     }
-    xhv->xhv_riter = -1;
+    HvRITER(hv) = -1;
     HvEITER(hv) = Null(HE*);
     return HvKEYS(hv);		/* used to be xhv->xhv_fill before 5.004_65 */
 }
@@ -1371,14 +1347,12 @@
 HE *
 Perl_hv_iternext(pTHX_ HV *hv)
 {
-    register XPVHV* xhv;
     register HE *entry;
     HE *oldentry;
     MAGIC* mg;
 
     if (!hv)
 	Perl_croak(aTHX_ "Bad hash");
-    xhv = (XPVHV*)SvANY(hv);
     oldentry = entry = HvEITER(hv);
 
     if ((mg = SvTIED_mg((SV*)hv, PERL_MAGIC_tied))) {
@@ -1422,12 +1396,12 @@
     if (entry)
 	entry = HeNEXT(entry);
     while (!entry) {
-	++xhv->xhv_riter;
-	if (xhv->xhv_riter > HvMAX(hv)) {
-	    xhv->xhv_riter = -1;
+	HvRITER(hv)++;
+	if (HvRITER(hv) > HvMAX(hv)) {
+	    HvRITER(hv) = -1;
 	    break;
 	}
-	entry = (HvARRAY(hv))[xhv->xhv_riter];
+	entry = (HvARRAY(hv))[HvRITER(hv)];
     }
 
     if (oldentry && HvLAZYDEL(hv)) {		/* was deleted earlier? */
@@ -1553,8 +1527,7 @@
 void
 Perl_unsharepvn(pTHX_ const char *str, I32 len, U32 hash)
 {
-    HV *hv = PL_strtab;
-    register XPVHV* xhv;
+    HV *hv;
     register HE *entry;
     register HE **oentry;
     register I32 i = 1;
@@ -1578,8 +1551,8 @@
 	if (--*Svp == Nullsv)
 	    hv_delete(PL_strtab, str, len, G_DISCARD, hash);
     } */
-    xhv = (XPVHV*)SvANY(hv);
     /* assert(xhv_array != 0) */
+    hv = PL_strtab;
     LOCK_STRTAB_MUTEX;
     oentry = &(HvARRAY(hv))[hash & (I32) HvMAX(hv)];
     for (entry = *oentry; entry; i=0, oentry = &HeNEXT(entry), entry = *oentry) {
@@ -1616,8 +1589,7 @@
 HEK *
 Perl_share_hek(pTHX_ const char *str, I32 len, register U32 hash)
 {
-    HV *hv = PL_strtab;
-    register XPVHV* xhv;
+    HV *hv;
     register HE *entry;
     register HE **oentry;
     register I32 i = 1;
@@ -1641,8 +1613,8 @@
     if (!(Svp = hv_fetch(PL_strtab, str, len, FALSE)))
     	hv_store(PL_strtab, str, len, Nullsv, hash);
     */
-    xhv = (XPVHV*)SvANY(hv);
     /* assert(xhv_array != 0) */
+    hv = PL_strtab;
     LOCK_STRTAB_MUTEX;
     oentry = &(HvARRAY(hv))[hash & (I32) HvMAX(hv)];
     for (entry = *oentry; entry; i=0, entry = HeNEXT(entry)) {

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About