Home | History | Annotate | Download | only in core

Lines Matching refs:rec

57     public SkTDynamicHash<SkResourceCache::Rec, SkResourceCache::Key> {};
122 bool SkOneShotDiscardablePixelRef::onNewLockPixels(LockRec* rec) {
143 rec->fPixels = fDM->data();
144 rec->fColorTable = fCTable;
145 rec->fRowBytes = fRB;
213 Rec* rec = fHead;
214 while (rec) {
215 Rec* next = rec->fNext;
216 delete rec;
217 rec = next;
227 Rec* rec = fHash->find(key);
228 if (rec) {
229 if (visitor(*rec, context)) {
230 this->moveToHead(rec); // for our LRU
233 this->remove(rec); // stale
252 void SkResourceCache::add(Rec* rec) {
255 SkASSERT(rec);
257 Rec* existing = fHash->find(rec->getKey());
259 delete rec;
263 this->addToHead(rec);
264 fHash->add(rec);
268 make_size_str(rec->bytesUsed(), &bytesStr);
271 bytesStr.c_str(), rec, rec->getHash(), totalStr.c_str(), fCount);
274 // since the new rec may push us over-budget, we perform a purge check now
278 void SkResourceCache::remove(Rec* rec) {
279 size_t used = rec->bytesUsed();
282 this->detach(rec);
283 fHash->remove(rec->getKey());
293 bytesStr.c_str(), rec, rec->getHash(), totalStr.c_str(), fCount);
296 delete rec;
311 Rec* rec = fTail;
312 while (rec) {
317 Rec* prev = rec->fPrev;
318 this->remove(rec);
319 rec = prev;
341 Rec* rec = fTail;
342 while (rec) {
343 Rec* prev = rec->fPrev;
344 if (rec->getKey().getSharedID() == sharedID) {
345 // SkDebugf("purgeSharedID id=%llx rec=%p\n", sharedID, rec);
346 this->remove(rec);
351 rec = prev;
367 Rec* rec = fTail;
368 while (rec) {
369 visitor(*rec, context);
370 rec = rec->fPrev;
398 void SkResourceCache::detach(Rec* rec) {
399 Rec* prev = rec->fPrev;
400 Rec* next = rec->fNext;
403 SkASSERT(fHead == rec);
415 rec->fNext = rec->fPrev = nullptr;
418 void SkResourceCache::moveToHead(Rec* rec) {
419 if (fHead == rec) {
428 this->detach(rec);
430 fHead->fPrev = rec;
431 rec->fNext = fHead;
432 fHead = rec;
437 void SkResourceCache::addToHead(Rec* rec) {
440 rec->fPrev = nullptr;
441 rec->fNext = fHead;
443 fHead->fPrev = rec;
445 fHead = rec;
447 fTail = rec;
449 fTotalBytesUsed += rec->bytesUsed();
479 const Rec* rec = fHead;
480 while (rec) {
482 used += rec->bytesUsed();
484 rec = rec->fNext;
488 rec = fTail;
489 while (rec) {
492 SkASSERT(used >= rec->bytesUsed());
493 used -= rec->bytesUsed();
494 rec = rec->fPrev;
632 void SkResourceCache::Add(Rec* rec) {
634 get_cache()->add(rec);
680 static void dump_visitor(const SkResourceCache::Rec& rec, void*) {
682 rec.getCategory(), rec.bytesUsed(), rec.diagnostic_only_getDiscardable());
689 static void sk_trace_dump_visitor(const SkResourceCache::Rec& rec, void* context) {
691 SkString dumpName = SkStringPrintf("skia/sk_resource_cache/%s_%p", rec.getCategory(), &rec);
692 SkDiscardableMemory* discardable = rec.diagnostic_only_getDiscardable();
698 dump->dumpNumericValue(dumpName.c_str(), "discardable_size", "bytes", rec.bytesUsed());
700 dump->dumpNumericValue(dumpName.c_str(), "size", "bytes", rec.bytesUsed());