Newsgroups: comp.lang.scheme
Path: cantaloupe.srv.cs.cmu.edu!rochester!cornell!travelers.mail.cornell.edu!news.tc.cornell.edu!news.cac.psu.edu!howland.reston.ans.net!spool.mu.edu!news.cs.indiana.edu!jeschke@cs.indiana.edu
From: "Eric Jeschke" <jeschke@cs.indiana.edu>
Subject: Re: statically linked heaps and fast startup
Message-ID: <1995Mar10.153503.4195@news.cs.indiana.edu>
Organization: Computer Science, Indiana University
References: <9502202110.AA24811@clark.lcs.mit.edu>
Date: Fri, 10 Mar 1995 15:34:57 -0500
Lines: 24

shivers@clark.lcs.mit.EDU (Olin Shivers) writes:

:Some recent news may be of interest to Scheme 48 and scsh users.  One of my
:students (Brian Carlstrom) finished some code last night to take Scheme 48
:initial heap images and link them into the text pages of the S48 virtual
:machine. The foreign-function link cells are also resolved by ld(1), so that
:scsh does not need to re-link them at start-up time.

:The system is based on an idea of Jonathan Rees'. The heap image is written
:out as a huge C array declaration, something like

:    const  long p116[]={0x882,0x24,0x19,
:    			0x882,(long)(&p19[785])+7,(long)(&p119[125])+7,

We have used this technique in the Daisy implementation for some time.
It does result in very fast startup time + standalone executables, but
the downside is long compilation and large binaries.  Another factor if
you are targetting a multiprocessor is the complication of mapping the
heap image over all the processors; this is easier to do with a separate
heap image.

-- 
Eric Jeschke                      |          Indiana University
jeschke@cs.indiana.edu            |     Computer Science Department
