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

SCM Repository

[diderot] Diff of /branches/vis15/src/compiler/translate/translate.sml
ViewVC logotype

Diff of /branches/vis15/src/compiler/translate/translate.sml

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

revision 3839, Mon May 9 20:05:59 2016 UTC revision 3840, Mon May 9 20:42:08 2016 UTC
# Line 338  Line 338 
338  (*DEBUG*)handle ex => raise ex  (*DEBUG*)handle ex => raise ex
339    
340      fun cvtBlock (state, env : env, joinStk, blk as S.Block{code, ...}) = let      fun cvtBlock (state, env : env, joinStk, blk as S.Block{code, ...}) = let
           val _ = AnalyzeSimple.analyze blk  
341            fun cvt (env : env, cfg, []) = (cfg, env)            fun cvt (env : env, cfg, []) = (cfg, env)
342              | cvt (env, cfg, stm::stms) = (case stm              | cvt (env, cfg, stm::stms) = (case stm
343                   of S.S_Var(x, NONE) => let                   of S.S_Var(x, NONE) => let
# Line 538  Line 537 
537            val S.Program{            val S.Program{
538                    props, consts, inputs, constInit, globals, funcs, init, strand, create, update                    props, consts, inputs, constInit, globals, funcs, init, strand, create, update
539                  } = prog                  } = prog
540              val _ = AnalyzeSimple.analyze prog
541            val consts' = List.map cvtGlobalVar consts            val consts' = List.map cvtGlobalVar consts
542            val inputs' = List.map (Inputs.map cvtGlobalVar) inputs            val inputs' = List.map (Inputs.map cvtGlobalVar) inputs
543            val inputs = List.map Inputs.varOf inputs            val inputs = List.map Inputs.varOf inputs
# Line 579  Line 579 
579                  val svars = let                  val svars = let
580                        fun newSVar x = IR.StateVar.new (                        fun newSVar x = IR.StateVar.new (
581                              SV.kindOf x = SV.StrandOutputVar,                              SV.kindOf x = SV.StrandOutputVar,
582                              SV.nameOf x, cvtTy(SV.typeOf x))                              SV.nameOf x, cvtTy(SV.typeOf x),
583                                AnalyzeSimple.varyingStateVar x,
584                                AnalyzeSimple.sharedStateVar x)
585                        in                        in
586                          List.map newSVar state                          List.map newSVar state
587                        end                        end
# Line 609  Line 611 
611                      }                      }
612                  end                  end
613            val create = cvtCreate (loadGlobals, create)            val create = cvtCreate (loadGlobals, create)
           val _ = AnalyzeSimple.analyzeGlobalUpdate update  
614            val prog = IR.Program{            val prog = IR.Program{
615                    props = props,                    props = props,
616                    consts = consts',                    consts = consts',

Legend:
Removed from v.3839  
changed lines
  Added in v.3840

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