| Title | mps_arena_step may fail to collect world even if it had time |
| Status | closed |
| Priority | nice |
| Assigned user | Gareth Rees |
| Organization | Ravenbrook |
| Description | The 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. |
| Analysis | Make the decision about whether to collect the world inside the loop? |
| How found | inspection |
| Evidence | [1] <http://www.ravenbrook.com/project/mps/master/code/global.c> |
| Created by | Gareth Rees |
| Created on | 2015-09-02 13:08:47 |
| Last modified by | Gareth Rees |
| Last modified on | 2015-09-03 19:11:49 |
| History | 2015-09-02 GDR Created. |
| 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. |