• Home
  • Raw
  • Download

Lines Matching refs:cache

380 		struct dso_cache *cache;  in dso_cache__free()  local
382 cache = rb_entry(next, struct dso_cache, rb_node); in dso_cache__free()
383 next = rb_next(&cache->rb_node); in dso_cache__free()
384 rb_erase(&cache->rb_node, root); in dso_cache__free()
385 free(cache); in dso_cache__free()
393 struct dso_cache *cache; in dso_cache__find() local
399 cache = rb_entry(parent, struct dso_cache, rb_node); in dso_cache__find()
400 end = cache->offset + DSO__DATA_CACHE_SIZE; in dso_cache__find()
402 if (offset < cache->offset) in dso_cache__find()
407 return cache; in dso_cache__find()
417 struct dso_cache *cache; in dso_cache__insert() local
424 cache = rb_entry(parent, struct dso_cache, rb_node); in dso_cache__insert()
425 end = cache->offset + DSO__DATA_CACHE_SIZE; in dso_cache__insert()
427 if (offset < cache->offset) in dso_cache__insert()
438 dso_cache__memcpy(struct dso_cache *cache, u64 offset, in dso_cache__memcpy() argument
441 u64 cache_offset = offset - cache->offset; in dso_cache__memcpy()
442 u64 cache_size = min(cache->size - cache_offset, size); in dso_cache__memcpy()
444 memcpy(data, cache->data + cache_offset, cache_size); in dso_cache__memcpy()
451 struct dso_cache *cache; in dso_cache__read() local
459 cache = zalloc(sizeof(*cache) + DSO__DATA_CACHE_SIZE); in dso_cache__read()
460 if (!cache) in dso_cache__read()
469 ret = read(dso->data.fd, cache->data, DSO__DATA_CACHE_SIZE); in dso_cache__read()
473 cache->offset = cache_offset; in dso_cache__read()
474 cache->size = ret; in dso_cache__read()
475 dso_cache__insert(&dso->data.cache, cache); in dso_cache__read()
477 ret = dso_cache__memcpy(cache, offset, data, size); in dso_cache__read()
482 free(cache); in dso_cache__read()
490 struct dso_cache *cache; in dso_cache_read() local
492 cache = dso_cache__find(&dso->data.cache, offset); in dso_cache_read()
493 if (cache) in dso_cache_read()
494 return dso_cache__memcpy(cache, offset, data, size); in dso_cache_read()
803 dso->data.cache = RB_ROOT; in dso__new()
846 dso_cache__free(&dso->data.cache); in dso__delete()