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