Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/branches/SMLNJ/src/MLRISC/instructions/stream.sig
ViewVC logotype

Diff of /sml/branches/SMLNJ/src/MLRISC/instructions/stream.sig

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 428, Wed Sep 8 09:47:00 1999 UTC revision 429, Wed Sep 8 09:47:00 1999 UTC
# Line 12  Line 12 
12     structure P : PSEUDO_OPS     structure P : PSEUDO_OPS
13     structure B : BLOCK_NAMES     structure B : BLOCK_NAMES
14    
15     datatype ('a,'b,'c) stream =     datatype ('a,'b,'c,'d,'e,'f) stream =
16        STREAM of        STREAM of
17           { init        : int -> unit,        { beginCluster: int -> 'b,               (* start new compilation unit *)
18             finish      : 'c -> unit,          endCluster  : 'c -> unit,              (* end compilation unit *)
19             emit        : (int -> int) -> 'a -> unit,          emit        : 'a,                      (* emit instruction *)
20             pseudoOp    : P.pseudo_op -> unit,          pseudoOp    : P.pseudo_op -> unit,     (* emit a pseudo op *)
21             defineLabel : Label.label -> unit,          defineLabel : Label.label -> unit,     (* define a local label *)
22             entryLabel  : Label.label -> unit,          entryLabel  : Label.label -> unit,     (* define an external label *)
23             comment     : string -> unit,          comment     : string -> unit,          (* emit comment *)
24             blockName   : B.name -> unit,          blockName   : B.name -> unit,          (* change block name *)
25             annotation  : Annotations.annotation -> unit,          annotation  : Annotations.annotation -> unit, (* add annotation *)
26             exitBlock   : 'b -> unit          exitBlock   : 'd -> unit,              (* mark the end of a procedure *)
27            alias       : 'e -> unit,              (* generate alias information *)
28            phi         : 'f -> unit               (* generate phi-function *)
29           }           }
30    
31       (* Note:
32        o  Each compilation unit should be wrapped between beginCluster/endCluster.
33    
34        o  The method annotation adds an annotation to the current basic block,
35           not to the current instruction.
36    
37        o  The method comment add a comment to the current basic block.
38           Usually comment(msg) is the same as
39              annotation(BasicAnnotations.COMMENT msg).
40        *)
41    
42  end  end

Legend:
Removed from v.428  
changed lines
  Added in v.429

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