summaryrefslogtreecommitdiff
path: root/hv.h
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2008-12-26 17:14:44 +0000
committerNicholas Clark <nick@ccl4.org>2008-12-27 21:12:12 +0000
commit123892d916359369839f3896f283189be71dc32c (patch)
tree189e4891a00ab4e74c3fe294b3ce2bd26b47d0ef /hv.h
parentfa60396f123333e92849ecaecffb9252458d6678 (diff)
downloadperl-123892d916359369839f3896f283189be71dc32c.tar.gz
Add MRO_GET_PRIVATE_DATA() to use the cached mro private data where possible.
Diffstat (limited to 'hv.h')
-rw-r--r--hv.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/hv.h b/hv.h
index 66fb6f2d8e..1481d5b8e9 100644
--- a/hv.h
+++ b/hv.h
@@ -57,6 +57,11 @@ struct mro_meta {
HV *isa; /* Everything this class @ISA */
};
+#define MRO_GET_PRIVATE_DATA(smeta, which) \
+ (((smeta)->mro_which && (which) == (smeta)->mro_which) \
+ ? MUTABLE_SV((smeta)->mro_linear_c3) \
+ : Perl_mro_get_private_data(aTHX_ (smeta), (which)))
+
/* Subject to change.
Don't access this directly.
*/