Dan Sugalski wrote:
At 4:17 PM +0000 1/9/03, Nicholas Clark wrote:On Thu, Jan 09, 2003 at 01:32:57PM +0100, Leopold Toetsch wrote:But I still favor the combination of: - code reordering, like done for pmc_new - DOD/GC disabling (e.g. aggregate clone) - active anchoring to the root set, where above is not applicableWhich combined means that there is no stackwalking?
While I'd like no stack walking, as it's pricey, I'm not sure it's tenable.
As the current clone changes does show, it's possible. BTW current tests do succed w/o stackwalking - its disabled.
... Skipping it makes things rather more fragile, as it means that any code that may potentially trigger a DOD run while holding an unrooted object needs to root it temporarily, and that's a lot of code.
Its a bit more fragile, for unchecked or new code. PMCs ought to be already save now. The "new" and "clone" ops do already anchor the newly created object to the root set.
Also I was thinking of: trace_system_areas could be run last in marking and if it finds some unanchored objects, it could print a warning, so we could really check, if we ware safe.
leo