|
|
Invisible <voi### [at] devnull> wrote:
> The GC engine needs to know quite a bit about the objects it's scanning
> - how big they are, where their pointer fields are, etc.
Exactly how does the GC engine know how large a block of allocated
memory is? Where is this information stored? (You could get close to
this if all objects that the program ever allocated were forced to be
all of the same size. Of course that's unfeasible.)
Also, if objects are transparently movable in memory without breaking
the references pointing to them, that means that in addition to the
reference the actual raw memory address of the object has to also be
stored somewhere. Where is this information stored?
You can't avoid bookkeeping when you are allocating blocks of variable
size.
--
- Warp
Post a reply to this message
|
|