diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 1999-06-09 18:03:01 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1999-06-09 18:03:01 +0000 |
commit | cea2e8a9dd23747fd2b66edc86c58c64e9970321 (patch) | |
tree | 50e1ad203239e885681b4e804c46363e763ca432 /hv.c | |
parent | f019efd000a9017df645fb6c4cce1e7401ac9445 (diff) | |
download | perl-cea2e8a9dd23747fd2b66edc86c58c64e9970321.tar.gz |
more complete support for implicit thread/interpreter pointer,
enabled via -DPERL_IMPLICIT_CONTEXT (all changes are noops
without that enabled):
- USE_THREADS now enables PERL_IMPLICIT_CONTEXT, so dTHR
is a noop; tests pass on Solaris; should be faster now!
- MULTIPLICITY has been tested with and without
PERL_IMPLICIT_CONTEXT on Solaris
- improved function database now merged with embed.pl
- everything except the varargs functions have foo(a,b,c) macros
to provide compatibility
- varargs functions default to compatibility variants that
get the context pointer using dTHX
- there should be almost no source compatibility issues as a
result of all this
- dl_foo.xs changes other than dl_dlopen.xs untested
- still needs documentation, fixups for win32 etc
Next step: migrate most non-mutex variables from perlvars.h
to intrpvar.h
p4raw-id: //depot/perl@3524
Diffstat (limited to 'hv.c')
-rw-r--r-- | hv.c | 20 |
1 files changed, 10 insertions, 10 deletions
@@ -25,7 +25,7 @@ #endif STATIC HE* -new_he(pTHX) +S_new_he(pTHX) { HE* he; LOCK_SV_MUTEX; @@ -38,7 +38,7 @@ new_he(pTHX) } STATIC void -del_he(pTHX_ HE *p) +S_del_he(pTHX_ HE *p) { LOCK_SV_MUTEX; HeNEXT(p) = (HE*)PL_he_root; @@ -47,7 +47,7 @@ del_he(pTHX_ HE *p) } STATIC void -more_he(pTHX) +S_more_he(pTHX) { register HE* he; register HE* heend; @@ -62,7 +62,7 @@ more_he(pTHX) } STATIC HEK * -save_hek(pTHX_ const char *str, I32 len, U32 hash) +S_save_hek(pTHX_ const char *str, I32 len, U32 hash) { char *k; register HEK *hek; @@ -253,7 +253,7 @@ Perl_hv_fetch_ent(pTHX_ HV *hv, SV *keysv, I32 lval, register U32 hash) } STATIC void -hv_magic_check(pTHX_ HV *hv, bool *needs_copy, bool *needs_store) +S_hv_magic_check(pTHX_ HV *hv, bool *needs_copy, bool *needs_store) { MAGIC *mg = SvMAGIC(hv); *needs_copy = FALSE; @@ -700,7 +700,7 @@ Perl_hv_exists_ent(pTHX_ HV *hv, SV *keysv, U32 hash) } STATIC void -hsplit(pTHX_ HV *hv) +S_hsplit(pTHX_ HV *hv) { register XPVHV* xhv = (XPVHV*)SvANY(hv); I32 oldsize = (I32) xhv->xhv_max + 1; /* sic(k) */ @@ -957,7 +957,7 @@ Perl_hv_clear(pTHX_ HV *hv) } STATIC void -hfreeentries(pTHX_ HV *hv) +S_hfreeentries(pTHX_ HV *hv) { register HE **array; register HE *entry; @@ -1018,7 +1018,7 @@ Perl_hv_iterinit(pTHX_ HV *hv) HE *entry; if (!hv) - croak("Bad hash"); + Perl_croak(aTHX_ "Bad hash"); xhv = (XPVHV*)SvANY(hv); entry = xhv->xhv_eiter; if (entry && HvLAZYDEL(hv)) { /* was deleted earlier? */ @@ -1039,7 +1039,7 @@ Perl_hv_iternext(pTHX_ HV *hv) MAGIC* mg; if (!hv) - croak("Bad hash"); + Perl_croak(aTHX_ "Bad hash"); xhv = (XPVHV*)SvANY(hv); oldentry = entry = xhv->xhv_eiter; @@ -1205,7 +1205,7 @@ Perl_unsharepvn(pTHX_ const char *str, I32 len, U32 hash) UNLOCK_STRTAB_MUTEX; if (!found) - warn("Attempt to free non-existent shared string"); + Perl_warn(aTHX_ "Attempt to free non-existent shared string"); } /* get a (constant) string ptr from the global string table |