Annotation of researchv10no/cmd/sml/src/coder/machinstr.sig, revision 1.1

1.1     ! root        1: (* Copyright 1989 by AT&T Bell Laboratories *)
        !             2: (* machinstr.sig
        !             3:  *
        !             4:  * J.H. Reppy
        !             5:  * Cornell University
        !             6:  * Ithaca, NY 14853
        !             7:  * [email protected]
        !             8:  *
        !             9:  * HISTORY:
        !            10:  *   11/20/89  created
        !            11:  *
        !            12:  *   This is an abstract interface to the machine instruction set.
        !            13:  *)
        !            14: 
        !            15: signature MACHINSTR =
        !            16: sig
        !            17:     eqtype register
        !            18:     eqtype label sharing type label = BaseCoder.label
        !            19: 
        !            20:   (** Instructions **)
        !            21: 
        !            22:     type instruction
        !            23: 
        !            24:     datatype ikind = IK_NOP | IK_JUMP | IK_INSTR
        !            25: 
        !            26:     val instrKind : instruction -> ikind
        !            27:     val nop : instruction
        !            28: 
        !            29:   (** Span dependent instructions **)
        !            30: 
        !            31:     type sdi
        !            32: 
        !            33:     val minSize : sdi -> int
        !            34:     val sizeOf : sdi -> (bool * int)
        !            35:        (* sizeOf(I) returns the size of I under the current address assignment
        !            36:         * for labels plus true if the size if the maximum possible for the sdi. *)
        !            37:     val expand : (sdi * int) -> instruction list
        !            38:        (* expand (I, n) returns the expansion of I into n bytes of machine
        !            39:         * instructions. *)
        !            40: 
        !            41:   (** Resource usage **)
        !            42: 
        !            43:     val numResources : int
        !            44:     val rUseDef : instruction -> (int list * int list)
        !            45:     val hazard : (instruction * instruction) -> bool
        !            46:     val needsNop : (instruction * instruction) -> bool
        !            47: 
        !            48: end (* signature MACHINSTR *)
        !            49: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.