return isa; /* returns the cache if available */
}
else{
- SvREADONLY_off(isa);
- av_clear(isa);
+ SvREFCNT_dec(isa);
+ GvAV(cachegv) = isa = newAV();
}
get_linear_isa = get_cv("Mouse::Util::get_linear_isa", TRUE);
}
sv_setiv(gen, (IV)mro_get_pkg_gen(stash));
- return GvAV(cachegv);
+ return isa;
}
#endif /* !no_mor_get_linear_isa */