Opened 18 years ago
Last modified 18 years ago
#6 closed defect
Create nomIsObj() — at Version 1
Reported by: | cinc | Owned by: | somebody |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | component1 | Version: | |
Keywords: | nomIsObj | Cc: |
Description (last modified by )
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.