Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Annotation of /branches/vis15/src/compiler/cfg-ir/exit-kind.sml
ViewVC logotype

Annotation of /branches/vis15/src/compiler/cfg-ir/exit-kind.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3470 - (view) (download)

1 : jhr 3470 (* exit-kind.sml
2 :     *
3 :     * This code is part of the Diderot Project (http://diderot-language.cs.uchicago.edu)
4 :     *
5 :     * COPYRIGHT (c) 2015 The University of Chicago
6 :     * All rights reserved.
7 :     *
8 :     * The CFG representation has different kinds of exits, depending on the
9 :     * context and operation.
10 :     *)
11 :    
12 :     structure ExitKind =
13 :     struct
14 :    
15 :     datatype kind
16 :     = FRAGMENT (* exit node in a CFG fragment that is going to be embedded in *)
17 :     (* other code *)
18 :     | SINIT (* strand initialization *)
19 :     | RETURN (* return from function/method *)
20 :     | ACTIVE (* normal return from update method *)
21 :     | STABILIZE (* stabilize in update method *)
22 :     | DIE (* die in update method *)
23 :     | UNREACHABLE (* dummy exit node that is unreachable *)
24 :    
25 :     fun toString FRAGMENT = "FRAGMENT"
26 :     | toString SINIT = "SINIT"
27 :     | toString RETURN = "RETURN"
28 :     | toString ACTIVE = "ACTIVE"
29 :     | toString STABILIZE = "STABILIZE"
30 :     | toString DIE = "DIE"
31 :     | toString UNREACHABLE = "UNREACHABLE"
32 :    
33 :     end

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