PreviousUpNext

15.3.136  src/lib/compiler/back/low/mcg/make-machcode-codebuffer.api

## make-machcode-codebuffer.api
#
# This appears to be the live facility described in the
#     "Directly from instructions"
# section of
#     http://www.cs.nyu.edu/leunga/MLRISC/Doc/html/mlrisc-ir.html 

# Compiled by:
#     src/lib/compiler/back/low/lib/lowhalf.lib


api Make_Machcode_Codebuffer {
    #
    package cst: Codebuffer;                                    # Codebuffer                    is from   src/lib/compiler/back/low/code/codebuffer.api
    package mcf: Machcode_Form;                                 # Machcode_Form                 is from   src/lib/compiler/back/low/code/machcode-form.api
    package pop: Pseudo_Ops;                                    # Pseudo_Ops                    is from   src/lib/compiler/back/low/mcg/pseudo-op.api

    package mcg: Machcode_Controlflow_Graph                     # Machcode_Controlflow_Graph    is from   src/lib/compiler/back/low/mcg/machcode-controlflow-graph.api
                 where
                      mcf == mcf                                # "mcf" == "machcode_form" (abstract machine code).
                 also pop == pop;                               # "pop" == "pseudo_op".

    # This creates an emitter which
    # can be used to incrementally build a
    # machcode_controlflow_graph: 
    #
    Codebuffer
       = 
       cst::Codebuffer
         (
           mcf::Machine_Op,
           note::Notes,
           mcf::rgk::Codetemplists,
           mcg::Machcode_Controlflow_Graph
         );

    make_machcode_codebuffer:  Void -> Codebuffer;
};


## COPYRIGHT (c) 2001 Bell Labs, Lucent Technologies
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext