aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Kistruck2006-12-29 15:05:10 +0000
committerRichard Kistruck2006-12-29 15:05:10 +0000
commit8626ae4c511b1aa50544d28be7a86cd2dea456ec (patch)
tree0041becf615b024e749fef4456d1e9aba9af5e94
parentbe6af37420fec1ee16eff5c923794c258dd1961c (diff)
downloademacs-8626ae4c511b1aa50544d28be7a86cd2dea456ec.tar.gz
emacs-8626ae4c511b1aa50544d28be7a86cd2dea456ec.zip
Mps wiki refman addenda: more comments on chain and arena_start/_step.
Copied from Perforce Change: 161353 ServerID: perforce.ravenbrook.com
-rw-r--r--mps/manual/wiki/refman_add.html20
1 files changed, 14 insertions, 6 deletions
diff --git a/mps/manual/wiki/refman_add.html b/mps/manual/wiki/refman_add.html
index bc7d950c3e9..1bdea0858a6 100644
--- a/mps/manual/wiki/refman_add.html
+++ b/mps/manual/wiki/refman_add.html
@@ -53,7 +53,7 @@
53 53
54<h2>Addenda</h2> 54<h2>Addenda</h2>
55 55
56<h3><code>mps_class_amc</code>, <code>mps_class_ams</code>: chain parameter</h3> 56<h3>new parameter "chain" required for <code>mps_class_amc</code>, <code>mps_class_ams</code></h3>
57 57
58<p>Create a chain with <code>mps_chain_create</code>, and pass it as argument to <code>mps_pool_create</code> for these two pool classes.</p> 58<p>Create a chain with <code>mps_chain_create</code>, and pass it as argument to <code>mps_pool_create</code> for these two pool classes.</p>
59 59
@@ -61,10 +61,18 @@
61 61
62<p>Pool class AMC is generational: the chain specifies capacity and predicted mortality of each generation. These capacities are not limits: they are used for scheduling collection of the AMC objects.</p> 62<p>Pool class AMC is generational: the chain specifies capacity and predicted mortality of each generation. These capacities are not limits: they are used for scheduling collection of the AMC objects.</p>
63 63
64<p>The way chains affect garbage collection is discussed in the <a href="gc_story.html">GC Story</a> article.</p>
64 65
65<h3><code>mps_arena_step</code> and <code>mps_arena_start_collect</code></h3>
66 66
67<p>See:</p> 67<h3>new functions: <code>mps_arena_step</code>, <code>mps_arena_start_collect</code></h3>
68
69<p>When the client has some idle-time, it is permitted to call <code>mps_arena_step(arena, interval, multiplier)</code> to allow MPS to do collection work. The "interval" argument (units: seconds) specifies how much time the MPS is permitted to take with this mps_arena_step call. The "multiplier" argument specifies how many further similar calls to mps_arena_step the Client expects to make in this period of idle time. The idea is that the MPS should return before "interval" is exhausted, and should only eagerly commence long-duration operations that consume CPU (such as a full collection) if those operations are expected to be completed within "multiplier * interval" seconds.</p>
70
71<p>Note that <code>mps_arena_step</code> will still step, even if the arena has been clamped. This is to allow a client to advance a collection only at these mps_arena_step points (but note that barrier hits will also cause collection work).</p>
72
73<p>The client is permitted to request a full collection with <code>mps_arena_start_collect</code>. The MPS returns 'asynchronously' from this call, usually before full collection has completed. (Contrast the <a href="../reference/#mps_arena_collect"><code>mps_arena_collect</code></a> call, which does not return until the full collection has completed). Work on the full collection then proceeds incrementally, just as it does when the MPS schedules a full collection automatically.</p>
74
75<p>Fuller documentation is currently only in email. See:</p>
68<ol> 76<ol>
69 <li> 77 <li>
70 <a href="http://info.ravenbrook.com/mail/2002/07/01/20-46-08/0.txt">http://info.ravenbrook.com/mail/2002/07/01/20-46-08/0.txt</a> 78 <a href="http://info.ravenbrook.com/mail/2002/07/01/20-46-08/0.txt">http://info.ravenbrook.com/mail/2002/07/01/20-46-08/0.txt</a>
@@ -80,13 +88,13 @@
80 </li> 88 </li>
81</ol> 89</ol>
82 90
83<p>Note that <code>mps_arena_step</code> will still step, even if the arena has been clamped. This is to allow a client to advance a collection only at these mps_arena_step points (but note that barrier hits will also cause collection work).</p>
84
85 91
86<h2><a id="section-B" name="section-B">B. Document History</a></h2> 92<h2><a id="section-B" name="section-B">B. Document History</a></h2>
87 93
88<pre> 94<pre>
89 2006-11-28 RHSK Created: chain for AMC and AMS; mps_arena_step and mps_arena_start_collect. 95 2006-11-28 RHSK Created: chain for AMC and AMS; mps_arena_step
96 and mps_arena_start_collect.
97 2006-12-29 RHSK More comments on chain and arena_start/_step.
90</pre> 98</pre>
91 99
92 100