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/compiler/CodeGen/cpscompile/callgc.sig
ViewVC logotype

View of /sml/trunk/src/compiler/CodeGen/cpscompile/callgc.sig

Parent Directory Parent Directory | Revision Log Revision Log


Revision 419 - (download) (as text) (annotate)
Fri Sep 3 23:51:27 1999 UTC (19 years, 10 months ago) by monnier
File size: 913 byte(s)
This commit was generated by cvs2svn to compensate for changes in r418,
which included commits to RCS files with non-trunk default branches.
(* callGc.sig --- cluster of gc invocation code.
 *
 * COPYRIGHT (c) 1995 AT&T Bell Laboratories.
 *
 *)

(* All code to invoke GC is generated once at the end of the
 * compilation unit---with one exception. For each cluster, a 
 * call to GC is a jump  to the end of the cluster  where there 
 * is another jump.
 * Code to invoke GC for known functions is generated at the end of
 * the cluster. This is important as there may be spilling across
 * gc invocation calls.
 *)

signature CALLGC = sig
  structure T : MLTREE
  type t = {maxAlloc: int,
	    regfmls:  T.mlrisc list,
	    regtys : CPS.cty list,
	    return: T.stm}
  type emitter = {emit:T.stm -> unit, comp:T.mltree -> unit}

  val stdCheckLimit : emitter -> t -> unit
  val knwCheckLimit : emitter -> t -> unit
  val emitLongJumpsToGCInvocation : emitter -> int Intmap.intmap -> unit
  val emitModuleGC : emitter -> int Intmap.intmap -> unit
end


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