MPS issue job000531

TitleMPS doesn't have "incremental step" function for clients
Statusclosed
Priorityessential
Assigned userNick Barnes
OrganizationRavenbrook
DescriptionThe MPS has an incremental GC, but it doesn't have any mechanism (other than allocation) for a client to trigger an increment of GC work. This is essential for any sort of opportunistic GC.
AnalysisAdd mps_bool_t mps_arena_step(mps_arena_t arena, double interval), where the second argument is "how much time, in seconds, is the MPS allowed to take on this step" and the return value is "did the MPS find anything useful to do?" (or, nearly equivalently, "would it be useful to call this function again immediately?").
This shares the mechanism of ArenaPoll() (which is different on the customer branch and in the masters).
How foundcustomer
Evidence<http://info.ravenbrook.com/mail/2002/04/15/07-29-39/0.txt>
Created byNick Barnes
Created on2002-05-14 13:46:39
Last modified byGareth Rees
Last modified on2010-10-07 12:24:38
History2002-05-14 NB Created.

Fixes

Change Effect Date User Description
29465 closed 2002-05-24 13:24:13 Gareth Rees Add missing UNUSED() declaration.
29464 open 2002-05-24 13:17:21 Nick Barnes mps_arena_step() on masters.
29458 open 2002-05-24 10:16:09 Gareth Rees Make steptest work on w3i3mv
29457 open 2002-05-24 10:06:48 Nick Barnes steptest for windows.
29402 open 2002-05-22 17:11:13 Nick Barnes Incremental step function for MPS.
29207 open 2002-05-15 17:26:44 Nick Barnes Add mps_arena_step().