X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=xs-src%2FMouse.xs;fp=xs-src%2FMouse.xs;h=eff6ab7960b2617d11f4c240e9365c07e08fba56;hb=6f09819f35c5d66d8de41a6d8aa1cd1395815397;hp=32ab97cd2054f897f91b18e758aa6fdc7a5114c7;hpb=b11787bf7cafe5074ae42bf8ef4258c5c176f1d2;p=gitmo%2FMouse.git diff --git a/xs-src/Mouse.xs b/xs-src/Mouse.xs index 32ab97c..eff6ab7 100644 --- a/xs-src/Mouse.xs +++ b/xs-src/Mouse.xs @@ -624,6 +624,19 @@ CODE: mouse_class_initialize_object(aTHX_ meta, object, args, is_cloning); } +void +_invalidate_metaclass_cache(SV* meta) +CODE: +{ + AV* const xc = mouse_get_xc_if_fresh(aTHX_ meta); + if(xc) { + SV* const gen = MOUSE_xc_gen(xc); + sv_setuv(gen, 0U); + } + delete_slot(meta, newSVpvs_flags("_mouse_cache_", SVs_TEMP)); +} + + MODULE = Mouse PACKAGE = Mouse::Meta::Role BOOT: