Custom Query (6 matches)
Results (4 - 6 of 6)
Ticket | Resolution | Summary | Owner | Reporter |
---|---|---|---|---|
#6 | fixed | Create nomIsObj() | ||
Description |
nomIsObj() is currently implemented as a macro just checking if pointer!=NULL. This has to be implemented in a correct way by checking if the object contains a valid pointer to a method table (mtab*). There must be some sophisticated data structure to enable checking the mtab* against the known list of mtabs. A binary tree containing the mtab-pointers won't work (without using some more advanced technique like selfbalancing trees) because the classes are loaded sequentially so each mtab[n] will be in a memory location > mtab[n-1] so the tree will be degenerated. Sequentially searching will presumably be slow, because one has to think about several hundred possible mtabs.
|
|||
#3 | fixed | Review NOMMalloc()/NOMCalloc() | ||
Description |
NOMMalloc() and friends add size information to an allocated object thus increasing the memory object. This is done to make memory tracking in the inuse list of desktop objects easier. This should be changed now. NOMMalloc() is used everywhere for allocations so we increase memory objects everywhere. For inuse list uses we may introduce a wrapper function/method which will add the size info only if necessary. |
|||
#1 | fixed | Port gc to eCS | ||
Description |
NOM should provide some garbage collection, to do that we have to port gc from Hans Boehm : |