summaryrefslogtreecommitdiff
path: root/embed.h
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2005-12-30 01:08:46 +0000
committerNicholas Clark <nick@ccl4.org>2005-12-30 01:08:46 +0000
commit86f5593612e0fa4d1eddfb78098731af1f9f4548 (patch)
tree6cd5fac00a17f52ae05f8fc41c9a752899cb4e6f /embed.h
parente33435896f177fccb609ddddaf85afbfdc7a4e5f (diff)
downloadperl-86f5593612e0fa4d1eddfb78098731af1f9f4548.tar.gz
RMAGIC on symbol tables is bad, m'kay.
Allow hashes (and therefore all symbol tables) to store the backreference array in the hv_aux structure, and thereby undo the performance damage of 24966, which resulted in 60% of all hash lookups trying to mg_find tiehash magic. p4raw-id: //depot/perl@26530
Diffstat (limited to 'embed.h')
-rw-r--r--embed.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/embed.h b/embed.h
index cd190a6007..52dc7d16e0 100644
--- a/embed.h
+++ b/embed.h
@@ -1329,6 +1329,8 @@
#endif
#if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
#endif
+#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#endif
#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
#define uiv_2buf S_uiv_2buf
@@ -1537,6 +1539,8 @@
#define save_set_svflags Perl_save_set_svflags
#define hv_scalar Perl_hv_scalar
#define hv_name_set Perl_hv_name_set
+#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#endif
#define hv_clear_placeholders Perl_hv_clear_placeholders
#ifdef PERL_CORE
#define magic_scalarpack Perl_magic_scalarpack
@@ -3367,6 +3371,10 @@
#ifdef PERL_CORE
#endif
#endif
+#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#endif
+#endif
#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
#define uiv_2buf S_uiv_2buf
@@ -3575,6 +3583,12 @@
#define save_set_svflags(a,b,c) Perl_save_set_svflags(aTHX_ a,b,c)
#define hv_scalar(a) Perl_hv_scalar(aTHX_ a)
#define hv_name_set(a,b,c,d) Perl_hv_name_set(aTHX_ a,b,c,d)
+#ifdef PERL_CORE
+#endif
+#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#endif
+#endif
#define hv_clear_placeholders(a) Perl_hv_clear_placeholders(aTHX_ a)
#ifdef PERL_CORE
#define magic_scalarpack(a,b) Perl_magic_scalarpack(aTHX_ a,b)