Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/trunk/src/runtime/gc/NEW-FORMAT
ViewVC logotype

Annotation of /sml/trunk/src/runtime/gc/NEW-FORMAT

Parent Directory Parent Directory | Revision Log Revision Log


Revision 250 - (view) (download)

1 : monnier 249 Ideas for a new format for heap images.
2 :    
3 :     Number the exported arenas from 0..n (<= 255).
4 :     Whe writing a pointer p out, adjust it as follows:
5 :    
6 :     ((ArenaId << 24) | (p - arenaBase))
7 :    
8 :     Adjusting the pointers on input is then simply a
9 :     matter of looking up the new base address in
10 :     a table and adding it to the low 24 bits.
11 :    
12 :     If an arena is bigger than 2^24 (16Mb), then use
13 :     multiple ArenaIds. Since the current number of
14 :     arenas is limited to be at most 70, this scheme
15 :     can support a minimum of 2976Mb. Since this
16 :     exceeds the capacity of most disks, we should be
17 :     okay.
18 :    
19 :     The tricky part of this is that when exporting, the
20 :     bigobject references must be mapped into a coalesced
21 :     big-object region. We can handle this by allocating
22 :     an offset word per big-object descriptor.
23 :    

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0