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/compiler/CodeGen/main/machine-gen.sig
ViewVC logotype

View of /sml/trunk/compiler/CodeGen/main/machine-gen.sig

Parent Directory Parent Directory | Revision Log Revision Log

Revision 4949 - (download) (as text) (annotate)
Sun Apr 7 12:50:20 2019 UTC (6 months, 2 weeks ago) by jhr
File size: 900 byte(s)
  Split CPS out from the FLINT directory into its own subdirectory.  This change
  includes replacing the FLINTComp functor with a FLINTOpt structure and a CPSComp
(* machine-gen.sig
 * COPYRIGHT (c) 2019 The Fellowship of SML/NJ (http://www.smlnj.org)
 * All rights reserved.
 * Generation of machine code from a list of CPS functions

signature MACHINE_GEN =

    include MACHINE

    structure MLTreeComp : MLTREECOMP
		  where CFG = CFG
		    and I = CFG.I
    structure InvokeGC   : INVOKE_GC
		  where CFG=MLTreeComp.CFG
		    and TS = MLTreeComp.TS
    structure Shuffle    : SHUFFLE
		  where I = MLTreeComp.I
    structure MachSpec   : MACH_SPEC

    val abi_variant : string option (* to distinguish between different ABIs
				     * for same CPU/OSKind combination;
				     * prime example: intel-based macs which
				     * are x86/unix vs. intel-based linux
				     * boxen. *)

    val codegen : {
	    funcs: CPS.function list,
	    limits: CPS.lvar -> int * int,
	    source: string
	  } -> (unit -> int)

  end (* MACHINE_GEN *)

ViewVC Help
Powered by ViewVC 1.0.0