Module: Heapviz::Config

Included in:
Heap
Defined in:
lib/heapviz/config.rb

Constant Summary collapse

SIZEOF_PAGE_HEADER =
Fiddle::SIZEOF_VOIDP
SIZEOF_RVALUE =
GC::INTERNAL_CONSTANTS[:RVALUE_SIZE]
HEAP_PAGE_ALIGN_LOG =
16
HEAP_PAGE_ALIGN =

2 ^ 14 (or 16 on MacOS)

1 << HEAP_PAGE_ALIGN_LOG
HEAP_PAGE_ALIGN_MASK =

Mask for getting page address

~(~0 << HEAP_PAGE_ALIGN_LOG)  # Mask for getting page address
HEAP_PAGE_SIZE =

Actual page size

HEAP_PAGE_ALIGN
HEAP_PAGE_OBJ_LIMIT =
(HEAP_PAGE_SIZE - SIZEOF_PAGE_HEADER) / SIZEOF_RVALUE