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

SCM Repository

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

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

Parent Directory Parent Directory | Revision Log Revision Log

Revision 249 - (download) (annotate)
Sat Apr 17 18:57:03 1999 UTC (21 years, 4 months ago) by monnier
Original Path: sml/branches/SMLNJ/src/runtime/gc/NEW-FORMAT
File size: 765 byte(s)
version 110.16
Ideas for a new format for heap images.

Number the exported arenas from 0..n (<= 255).
Whe writing a pointer p out, adjust it as follows:

    ((ArenaId << 24) | (p - arenaBase))

Adjusting the pointers on input is then simply a
matter of looking up the new base address in
a table and adding it to the low 24 bits.

If an arena is bigger than 2^24 (16Mb), then use
multiple ArenaIds.  Since the current number of
arenas is limited to be at most 70, this scheme
can support a minimum of 2976Mb.  Since this
exceeds the capacity of most disks, we should be

The tricky part of this is that when exporting, the
bigobject references must be mapped into a coalesced
big-object region.  We can handle this by allocating
an offset word per big-object descriptor.

ViewVC Help
Powered by ViewVC 1.0.0