MPS issue job003934

Titlemps_arena_step may fail to collect world even if it had time
Statusclosed
Prioritynice
Assigned userGareth Rees
OrganizationRavenbrook
DescriptionThe decision about whether to collect the world is made only once (when ArenaStep begins), but this returns FALSE if there is a trace in progress [1]. This means that if we in a trace when ArenaStep is called, the world will not be collected, even if there is in fact time to finish the current trace and then collect the world.
AnalysisMake the decision about whether to collect the world inside the loop?
How foundinspection
Evidence[1] <http://www.ravenbrook.com/project/mps/master/code/global.c>
Created byGareth Rees
Created on2015-09-02 13:08:47
Last modified byGareth Rees
Last modified on2015-09-03 19:11:49
History2015-09-02 GDR Created.

Fixes

Change Effect Date User Description
188219 closed 2015-09-03 19:11:49 Gareth Rees ArenaStep considers collecting the world after finishing a trace (not just on entry if no traces are busy).
ArenaStep does not care about quanta, so call TraceAdvance instead of TracePoll.