[Glass] Temporary object memory and C heap
Norm Green
norm.green at gemtalksystems.com
Mon Oct 3 11:35:54 PDT 2022
Hi Bruno,
Please see comments below.
Norm
On 10/3/22 7:33 AM, bruno buzzi brassesco via Glass wrote:
> Hi,
>
> And I have doubt about GEM temporary object memory from a C point of
> view (each Gem is a C program).
> Is the Gem "temporary object memory" allocated in the C heap ? (I
> think yes but ...)
No, gem TOC memory is allocated using mmap(2), which is neither C heap
nor stack. On Linux and platforms that support the mmap flag
MAP_NORESERVE, the address space for TOC memory is reserved at startup
time but is not actually allocated until it's needed.
>
> The confusion come from that from Prg manual "GsBitmaps do not used
> temporary object memory", but they use "C Heap memory".
That means that very large GsBitmaps will not cause OutOfMemory errors
because their structures are not created in the TOC but rather are
allocated on the C heap using malloc().
>
> Maybe the manual differentiate GEM temporary object memory and C Heap
> to make a difference between exclusively Smalltalk memory and non
> Smalltalk memory (but both are C Heap memory).
Normal objects live in object memory spaces (new space, old space, etc)
but GsBitmaps are special and live in C heap memory.
>
> regards bruno
>
> PS: anyone from GemTalk is going to FAST next month ?
Yes, I believe James Foster is going to FAST.
>
> _______________________________________________
> Glass mailing list
> Glass at lists.gemtalksystems.com
> https://lists.gemtalksystems.com/mailman/listinfo/glass
More information about the Glass
mailing list