Bob Rogers wrote:
From: Leopold Toetsch <[EMAIL PROTECTED]>
Date: Sat, 16 Jul 2005 11:38:41 +0200
. . .
We keep the invariant by several means:
. . .
c) a write barrier checks pointer stores into aggregates (by just
comparing 2 memory addresses - basically)
we can do either:
- make aggregate younger (move to left)
- make stored-into object older (move to right)
- remember in IGP
What happens when a store creates a cycle? And how would this be
detected?
To keep the invariant we can't move the container nor the contained
object, *if* both are aggregates. Therefore the pointer store will be
recorded on the IGP list. Thus there is no need to detect cycles.
-- Bob
leo