diff options
author | Nicholas Clark <nick@ccl4.org> | 2008-12-26 16:38:58 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2008-12-27 21:12:12 +0000 |
commit | fa60396f123333e92849ecaecffb9252458d6678 (patch) | |
tree | e6d2e126ebe2b4d2d36b6f04080fc42bab9e7f65 /hv.h | |
parent | 4e7245b5373225aafe95c40cba1590f590d1c782 (diff) | |
download | perl-fa60396f123333e92849ecaecffb9252458d6678.tar.gz |
Repurpose struct mro_meta to allow it to store cached linear ISA for arbitary
method resolution orders.
mro_linear_dfs becomes a hash holding the different MROs' private data.
mro_linear_c3 becomes a shortcut pointer to the current MRO's private data.
Diffstat (limited to 'hv.h')
-rw-r--r-- | hv.h | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -46,7 +46,9 @@ struct shared_he { struct mro_alg; struct mro_meta { + /* repurposed as a hash holding the different MROs private data. */ AV *mro_linear_dfs; /* cached dfs @ISA linearization */ + /* repurposed as a pointer directly to the current MROs private data. */ AV *mro_linear_c3; /* cached c3 @ISA linearization */ HV *mro_nextmethod; /* next::method caching */ U32 cache_gen; /* Bumping this invalidates our method cache */ |