X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMouse%2FMeta%2FModule.pm;h=fd7d6d5d37a45ac98e26b9c7aa9d490949cf51c3;hb=a5c683f611022dcabb13169162fa2f57ba72b200;hp=bb18042676d88e6a9c809016dac893f51ca0ead7;hpb=047d7af00ab8b37c6369c032211bfe492fe6cd05;p=gitmo%2FMouse.git diff --git a/lib/Mouse/Meta/Module.pm b/lib/Mouse/Meta/Module.pm index bb18042..fd7d6d5 100755 --- a/lib/Mouse/Meta/Module.pm +++ b/lib/Mouse/Meta/Module.pm @@ -6,6 +6,14 @@ use Scalar::Util (); my %METAS; +if(Mouse::Util::_MOUSE_XS){ + # register meta storage for performance + Mouse::Util::__register_metaclass_storage(\%METAS, 0); + + # ensure thread safety + *CLONE = sub { Mouse::Util::__register_metaclass_storage(\%METAS, 1) }; +} + sub _metaclass_cache { # DEPRECATED my($class, $name) = @_; return $METAS{$name};