Heap file content

Morten Rhiger <[email protected]>
Newsgroups gmane.comp.lang.sml.smlnj
Message-ID <[email protected]>
Dear SML/NJ developers and compiler hackers,

I'm trying to get a grasp of SML/NJ's internal workings, especially
with an eye on generating, loading, linking, and executing code.

An answer to the following question would be a first step towards
unraveling the mysteries of the infrastructures of the compiler and
runtime system.

What does a heap file contain?  What is considered 'live' before an
export?

It puzzles me that the heap file generated by ml-build from the
(rather trivial) function

    structure Foo = struct
      fun main(_, _) = 0
    end

and the .cm file

    Library
      structure Foo
    is
      foo.sml

contains several hundred thousand bytes (379840 bytes on my x86-linux
machine).

The ml-build script automatically adds the basis library before
exporting the function.  Does this library become part of the heap?
Does the compiler (which is typically available before a export, at
least if issued from the interactive prompt) become part of the heap?

Is it possible to control what does and what does not go into a heap
file?

-- Morten
________________________________
Morten Rhiger
Computer Science
Roskilde University, Denmark
Homepage: http://www.ruc.dk/~mir


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.