Pobieranie ilości przydzielonej pamięci

0

Piszę mały garbage collector (mark-and-sweep) do mojej wirtualnej maszyny i utknąłem właściwie na początku:
W jaki sposób w Lazarusie pobrać ilość zaalokowanej/przydzielonej bibliotece pamięci?
Odnalazłem funkcje GetHeapStatus oraz GetFPCHeapStatus, lecz problem jest taki, że GC działa sobie w osobnym wątku, więc obydwie funkcje zwracają dane dla wątku GC, a nie ogólnie programu (czy raczej stricte samej biblioteki SSVM), zatem na nic mi to :/
Tak więc pytanie brzmi: jak pobrać ilość pamięci przydzielonej mojej bibliotece z poziomu jej samej? Najlepiej, aby rozwiązanie było przenośne pomiędzy systemami, ponieważ celuję właśnie w niezależność od systemu.
Myślałem nad napisaniem małego własnego memory-managera i skorzystania z SetMemoryManager, lecz z tym byłoby w cholerę roboty...

1 użytkowników online, w tym zalogowanych: 0, gości: 1