Lines Matching refs:cache
63 __mro_linear_isa_c3(pTHX_ HV* stash, HV* cache, I32 level)
85 if(!cache) {
86 cache = (HV*)sv_2mortal((SV*)newHV());
90 SV** cache_entry = hv_fetch(cache, stashname, stashname_len, 0);
95 /* not in cache, make a new one */
124 AV* const isa_lin = __mro_linear_isa_c3(aTHX_ isa_item_stash, cache, level + 1);
309 /* we don't want anyone modifying the cache entry but us,
315 if(!hv_store(cache, stashname, stashname_len, (SV*)retval, 0)) {
463 /* beyond here is just for cache misses, so perf isn't as critical */
554 HV* cache = NULL;
561 croak("Usage: calculateMRO(classname[, cache])");
564 if(items == 2) cache = (HV*)SvRV(ST(1));
570 res = __mro_linear_isa_c3(aTHX_ class_stash, cache, 0);
605 HV* cache;
619 croak("Usage: calculate_method_dispatch_table(classname[, cache])");
626 if(items == 2) cache = (HV*)SvRV(ST(1));
628 class_mro = __mro_linear_isa_c3(aTHX_ class_stash, cache, 0);