SpiecsEngine
 
Loading...
Searching...
No Matches

◆ MapObjectToSpan()

scl::span * Spices::PageCache::MapObjectToSpan ( void * obj) const

Find span by memory pointer.

Parameters
[in]objobject memory pointer.
Returns
Returns span.

Get page id by memory.

Find span in map.

Get page id by memory.

Find span in map.

Definition at line 21 of file PageCache.cpp.

22 {
26 const size_t id = (reinterpret_cast<size_t>(obj) >> MemoryPool::PAGE_SHIFT);
27
31 void* s = m_IdSpanMap.get(id);
32
33 if (s)
34 {
35 return static_cast<scl::span*>(s);
36 }
37 else
38 {
39 return nullptr;
40 }
41 }
static constexpr size_t PAGE_SHIFT
8KB in a page.
Definition MemoryPool.h:44
scl::radix_trie< 64 - MemoryPool::PAGE_SHIFT, 3 > m_IdSpanMap
radix trie for [pageId - span]
Definition PageCache.h:106
Used for manage multiple page memory.
Definition SpanList.h:15

Referenced by Spices::MemoryPool::Free(), and Spices::CentralCache::ReleaseListToSpans().