aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Barnes2002-04-15 13:38:06 +0100
committerNick Barnes2002-04-15 13:38:06 +0100
commite192b60aec3f207478bfe152c724e75da9e1dbef (patch)
tree0447f7a81c35d6497ffccb27810158b07c2c9e7f
parent9cabc24ee2f0282927f4853d604a28a78f4756b6 (diff)
downloademacs-e192b60aec3f207478bfe152c724e75da9e1dbef.tar.gz
emacs-e192b60aec3f207478bfe152c724e75da9e1dbef.zip
Reformat and add contents.
Copied from Perforce Change: 28236 ServerID: perforce.ravenbrook.com
-rw-r--r--mps/mmdoc/protocol/mps/alloc-pattern-ramp/index.html260
1 files changed, 101 insertions, 159 deletions
diff --git a/mps/mmdoc/protocol/mps/alloc-pattern-ramp/index.html b/mps/mmdoc/protocol/mps/alloc-pattern-ramp/index.html
index 6ac616d7cd7..50376c3b8f1 100644
--- a/mps/mmdoc/protocol/mps/alloc-pattern-ramp/index.html
+++ b/mps/mmdoc/protocol/mps/alloc-pattern-ramp/index.html
@@ -1,232 +1,174 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2 2
3
4
5<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> 3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
6 4
5<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7 6
7<head>
8 8
9 <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'> 9<title>MPS Ramp Allocation Pattern Protocol</title>
10
11 <head>
12
13 <title>MPS Ramp Allocation Pattern Protocol</title>
14
15 </head>
16
17 <body bgcolor='#FFFFFF' text='#000000' link='#000099' vlink='#660066' alink='#FF0000'>
18
19 <div align='center'>
20
21 <h1>MPS Ramp Allocation Pattern Protocol</h1>
22
23 <p>incomplete</p>
24
25 <address>drj, 1998-06-25</address>
26
27 </div>
28
29 <h2>
30
31 <a id='section-introduction' name='section-introduction'>Introduction</a>
32
33 </h2>
34
35 <p>This document describes the purpose and usage of the Ramp Allocation Pattern Protocol.</p>
36
37 <h2>
38
39 <a id='section-overview' name='section-overview'>Overview</a>
40
41 </h2>
42
43 <p>A Ramp Allocation Pattern is a particular Allocation Pattern (see doc). They are used to declare the building of large data structures which persist somewhat longer than the usual nursery collection frequency and are then almost entirely thrown away.</p>
44
45 <h2>
46
47 <a id='section-definitions' name='section-definitions'>Definitions</a>
48
49 </h2>
50
51 <p>"Ramp Allocation" is used to describe a pattern of allocation whereby the mutator builds up an increasingly large data structure the live size of which increases until a particularly time at which time most of the data structure is discarded resulting in sharp cutoff and decline in the live size.</p>
52
53 <h2>
54
55 <a id='section-stuff' name='section-stuff'>Stuff</a>
56
57 </h2>
58
59 <p>
60
61 Using Ramp Allocation Patterns conforms to the general use of allocation patterns. So in particular, a ramp allocation is associated with a particular allocation point.
62
63 It's probably only worth declaring a ramp allocation if the expected size is much larger than the nursery generation.
64
65 </p>
66
67 <p>
68
69 A Ramp Allocation has two interesting points: a beginning and an end.
70
71 The beginning is the point in time at which the mutator beings the ramp allocation.
72
73 The end is the point when the mutator has discarded most of the live object and the live size has declined.
74
75 </p>
76
77 <p>The beginning of a ramp allocation is declared using mps_ap_alloc_pattern_begin:</p>
78
79 <p>mps_ap_alloc_pattern_begin(an_ap, mps_alloc_pattern_ramp())</p>
80
81 <p>The end of a ramp allocation is declared using mps_ap_alloc_pattern_end:</p>
82
83 <p>mps_ap_alloc_pattern_end(an_ap, mps_alloc_pattern_ramp())</p>
84
85 <p>Ramp allocations on a given allocation point can nest. mps_ap_alloc_pattern_end is a declaration that the most recently begun ramp allocation on the specified allocation point has ended.</p>
86
87 <p>In case the client doesn't keep track of the nesting, it can reset all declarations of all allocation patterns on a particular allocation point:</p>
88
89 <p>mps_ap_alloc_pattern_reset(an_ap)</p>
90
91 <h2>
92
93 <a id='section-A' name='section-A'>A. References</a>
94
95 </h2>
96
97 <h2>
98
99 <a id='section-B' name='section-B'>B. Document History</a>
100 10
101 </h2> 11</head>
102 12
103 <table> 13<body bgcolor="#FFFFFF" text="#000000" link="#000099" vlink="#660066" alink="#FF0000">
104 14
105 <tr valign='top'> 15<div align="center">
106 16
107 <td>1998-06-25 15:41:58 +00</td> 17<h1>MPS Ramp Allocation Pattern Protocol</h1>
108 18
109 <td>drj</td> 19<p>incomplete</p>
110 20
111 <td>New document saved</td> 21<address>
22<a href="mailto:nb@ravenbrook.com">Nick Barnes</a>,
23<a href="http://www.ravenbrook.com/">Ravenbrook Limited</a>,
242001-11-14
25</address>
112 26
113 </tr> 27</div>
114 28
115 <tr valign='top'> 29<h2><a id="section-Contents" name="section-Contents">Contents</a></h2>
116 30
117 <td>1998-06-25 15:57:24 +00</td> 31<ul>
118 32
119 <td>drj</td> 33<li><a href="#section-1">1. Introduction</a></li>
120 34
121 <td>typo</td> 35<li><a href="#section-2">2. Overview</a></li>
122 36
123 </tr> 37<li><a href="#section-3">3. Definitions</a></li>
124 38
125 <tr valign='top'> 39<li><a href="#section-4">4. Protocol</a></li>
126 40
127 <td>1998-06-29 09:55:02 +00</td> 41<li><a href="#section-A">A. References</a></li>
128 42
129 <td>drj</td> 43<li><a href="#section-B">B. Document history</a></li>
130 44
131 <td>adding ref to genera's with-ephemeral-mode</td> 45</ul>
132 46
133 </tr> 47<h2><a id="section-1" name="section-1">1. Introduction</a></h2>
134 48
135 <tr valign='top'> 49<p>This document describes the purpose and usage of the Ramp
50Allocation Pattern Protocol.</p>
136 51
137 <td>1998-07-06 16:02:15 +00</td> 52<h2><a id="section-2" name="section-2">2. Overview</a></h2>
138 53
139 <td>drj</td> 54<p>A Ramp Allocation Pattern is a particular Allocation Pattern [see
55doc]. They are used to declare the building of large data structures
56which persist somewhat longer than the usual nursery collection
57frequency and are then almost entirely thrown away.</p>
140 58
141 <td>added another ref to ptw's mail</td> 59<h2><a id="section-3" name="section-3">3. Definitions</a></h2>
142 60
143 </tr> 61<p>"Ramp Allocation" is used to describe a pattern of allocation
62whereby the mutator builds up an increasingly large data structure,
63the live size of which increases until a particularly time, at which
64time most of the data structure is discarded, resulting in sharp
65cutoff and decline in the live size.</p>
144 66
145 <tr valign='top'> 67<h2><a id="section-4" name="section-4">4. Protocol</a></h2>
146 68
147 <td>1998-08-27 14:11:33 +00</td> 69<p>Using Ramp Allocation Patterns conforms to the general use of
70allocation patterns. So in particular, a ramp allocation is
71associated with a particular allocation point.</p>
148 72
149 <td>drj</td> 73<p>It's probably only worth declaring a ramp allocation if the
74expected size is much larger than the nursery generation.</p>
150 75
151 <td>fixed typo</td> 76<p>A Ramp Allocation has two interesting points: a beginning and an
77end.</p>
152 78
153 </tr> 79<p>The beginning is the point in time at which the mutator beings the
80ramp allocation.</p>
154 81
155 <tr valign='top'> 82<p>The end is the point when the mutator has discarded most of the
83live object and the live size has declined.</p>
156 84
157 <td>2000-05-19 16:13:44 +01</td> 85<p>The beginning of a ramp allocation is declared using <code
86class="source">mps_ap_alloc_pattern_begin</code>:</p>
158 87
159 <td>pekka</td> 88<p><code class="source">mps_ap_alloc_pattern_begin(an_ap,
89mps_alloc_pattern_ramp())</code></p>
160 90
161 <td>Fix format</td> 91<p>The end of a ramp allocation is declared using <code
92class="source">mps_ap_alloc_pattern_end</code>:</p>
162 93
163 </tr> 94<p><code class="source">mps_ap_alloc_pattern_end(an_ap,
95mps_alloc_pattern_ramp())</code></p>
164 96
165 <tr valign='top'> 97<p>Ramp allocations on a given allocation point can nest. <code
98class="source">mps_ap_alloc_pattern_end</code> is a declaration that
99the most recently begun ramp allocation on the specified allocation
100point has ended.</p>
166 101
167 <td>2000-05-23 14:51:09 +01</td> 102<p>In case the client doesn't keep track of the nesting, it can reset
103all declarations of all allocation patterns on a particular allocation
104point:</p>
168 105
169 <td /> 106<p><code class="source">mps_ap_alloc_pattern_reset(an_ap)</code></p>
170 107
171 <td>fix title</td> 108<h2><a id="section-A" name="section-A">A. References</a></h2>
172 109
173 </tr> 110<h2><a id="section-B" name="section-B">B. Document History</a></h2>
174 111
175 <tr valign='top'> 112<table>
176 113
177 <td>2000-05-23 14:51:16 +01</td> 114<tr valign="top">
178 115
179 <td>pekka</td> 116 <td>1998-06-25</td>
180 117
181 <td>fix title</td> 118 <td>drj</td>
182 119
183 </tr> 120 <td>Created</td>
184 121
185 <tr valign='top'> 122</tr>
186 123
187 <td>2000-10-04 14:36:59 +01</td> 124<tr>
188 125
189 <td>pekka</td> 126 <td>1998-06-25 to 2000-10-04</td>
190 127
191 <td>remove Dylan stuff; clean up</td> 128 <td />
192 129
193 </tr> 130 <td>Developed at Harlequin</td>
194 131
195 <tr valign='top'> 132</tr>
196 133
197 <td>2001-09-26</td> 134<tr valign="top">
198 135
199 <td> 136 <td>2001-09-26</td>
200 137
201 <a href='mailto:ndl@ravenbrook.com'>NDL</a> 138 <td><a href="mailto:ndl@ravenbrook.com">NDL</a></td>
202 139
203 </td> 140 <td>Converted from xml to html (second pass).</td>
204 141
205 <td>Converted from xml to html (second pass).</td> 142</tr>
206 143
207 </tr> 144<tr valign="top">
208 145
209 </table> 146 <td>2001-11-14</td>
210 147
211 <hr /> 148 <td><a href="mailto:nb@ravenbrook.com">NB</a></td>
212 149
213 <p> 150 <td>Reformatted and adopted.</td>
214 151
215 <small>Copyright &copy; 2001 Ravenbrook Limited. This document is provided "as is", without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this document. You may not duplicate or reproduce this document in any form without the express permission of the copyright holder.</small> 152</tr>
216 153
217 </p> 154</table>
218 155
219 <div align='center'> 156<hr />
220 157
221 <p> 158<p><small>Copyright &copy; 2001 Ravenbrook Limited. This document is
159provided "as is", without any express or implied warranty. In no
160event will the authors be held liable for any damages arising from the
161use of this document. You may not duplicate or reproduce this
162document in any form without the express permission of the copyright
163holder.</small></p>
222 164
223 <code>$Id$</code> 165<div align="center">
224 166
225 </p> 167<p><code>$Id$</code></p>
226 168
227 </div> 169</div>
228 170
229 </body> 171</body>
230 172
231 </html> 173</html>
232 174