20,741
edits
m (→Objective) |
|||
| Line 324: | Line 324: | ||
In other words, whenever new Nasal types are allocated, new memory from one of the 7 Nasal pools is requested. All of these allocation requests are channeled through naNew() and finally naGC_get(). naGC_get() is the de facto memory manager in Nasal, all memory management is triggered here - new memory block allocations for each pool, as well as garbage collection via the bottleneck() call. | In other words, whenever new Nasal types are allocated, new memory from one of the 7 Nasal pools is requested. All of these allocation requests are channeled through naNew() and finally naGC_get(). naGC_get() is the de facto memory manager in Nasal, all memory management is triggered here - new memory block allocations for each pool, as well as garbage collection via the bottleneck() call. | ||
This also means that we basically just need to provide an alternate naGC_get() function, next to the existing one, to add support for alternate GC schemes. | |||
= bottleneck() = | = bottleneck() = | ||