On Jan-01, Leopold Toetsch wrote: > Steve Fink wrote: > > >Many of our tinderbox failures result from architecture-specific > >shortcomings in our current root set scanning code. > > > Here is a test result (i386/linux) *without* --gc-debug and without > trace_system_areas: > ... > > I know, that things get worse with optimization and with more complex > programs.
And with other architectures that make heavier use of registers -- i386 may be an unrealistic example, since not much can even fit into the available register set. > When looking at PMCs, I<new> does anchor the newly created PMC already. > The clone functions could be redone like: > Parrot_do_dod_run(); // get free headers if possible > Parrot_block_DOD/GC(); > do_clone > Parrot_unblock_DOD/GC > This would also be faster, because there are no DOD runs during clone > (which wouldn't yield more free headers anyway). But wouldn't that force a DOD run on every clone? Normally, DOD should be extremely rare compared to clones.