SCM Repository
View of /sml/trunk/src/compiler/Execution/codeobj/code-obj.sig
Parent Directory
|
Revision Log
Revision 902 -
(download)
(as text)
(annotate)
Wed Aug 15 21:17:05 2001 UTC (20 years, 9 months ago) by blume
File size: 1486 byte(s)
Wed Aug 15 21:17:05 2001 UTC (20 years, 9 months ago) by blume
File size: 1486 byte(s)
new organization of compiler libraries
(* code-obj.sig * * COPYRIGHT (c) 1998 Bell Labs, Lucent Technologies. * * An interface for manipulating code objects. *) signature CODE_OBJ = sig type code_object type csegments = { c0 : code_object, cn : code_object list, data : Word8Vector.vector } type executable = Unsafe.Object.object -> Unsafe.Object.object exception FormatError (* raised by input when there are insufficient bytes *) val alloc : (int * string option) -> code_object (* Allocate an unintialized code object of the given number of bytes. * The second argument is the optional name of the object. *) val input : (BinIO.instream * int * string option) -> code_object (* Allocate a code object of the given size and initialize it * from the input stream. The third argument is the optional * name of the object. *) val output : (BinIO.outstream * code_object) -> unit (* Output a code object to the given output stream *) val bytes : code_object -> Word8Array.array (* View the code object as an updatable array of bytes. *) val exec : code_object -> executable (* View the code object as an executable. This has the side-effect * of flushing the instruction cache. *) val size : code_object -> int (* return the size of the code object *) val mkLiterals : Word8Vector.vector -> Unsafe.Object.object (* use the run-time system interpreter to generate a literals * vector from a literal bytecode program. *) end;
root@smlnj-gforge.cs.uchicago.edu | ViewVC Help |
Powered by ViewVC 1.0.0 |