lp:~mgiuca/mars/interactive-ssa

Created by Matt Giuca and last modified

Attempt to fix bug #580487 by restructuring interactive and the public interface to ast_cfg, forcing interactive variables to be SSA-compliant (each variable assigned has a unique name).

Get this branch:
bzr branch lp:~mgiuca/mars/interactive-ssa
Only Matt Giuca can upload to this branch. If you are Matt Giuca please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Matt Giuca
Project:
Mars
Status:
Merged

Recent revisions

1070. By Matt Giuca

ast_cfg: Simplify basic_stmt_to_cfg, as it no longer needs a special case for each type of stmt.

1069. By Matt Giuca

ast_cfg's public predicates expr_to_instrs and basic_stmt_to_instrs now
    convert their variables to SSA form before generating instructions. This
    means that interactive now deals internally in SSA-named variables (which
    can be seen with :e), and no variable internally is ever re-assigned.
    Interactive is now fully SSA-compliant (though it now has an obvious
    memory leak in that no interpreter-variable will ever be reclaimed).
Fixes Launchpad bug #580487.

1068. By Matt Giuca

interactive: :e now prints the variables in st_ssa_localtable, not st_localtable. The variable names in ssa_localtable are the ones stored in the env (though currently they are identical except ssa_localtable includes temporaries, this will change).

1067. By Matt Giuca

interactive: Now threads a persistent ast_state through the calls to the ast generator predicates.

1066. By Matt Giuca

interactive: Now updates ssa_localtable with the types of the SSA variables provided by ast_cfg.
tables: Added extend_localtable.

1065. By Matt Giuca

interactive: exec_stmt_internal now threads a whole state, not just an env.

1064. By Matt Giuca

interactive: State now includes an ast_cfg.ast_state.

1063. By Matt Giuca

ast_cfg: basic_stmt_to_instrs now threads a def_map (currently doesn't use it).

1062. By Matt Giuca

ast_cfg: Public versions of expr_to_instrs and basic_stmt_to_instrs now thread an ast_state. They are now sensitive to the existing SSA state and will update it (though interactive currently supplies an empty map and ignores the result).

1061. By Matt Giuca

ast_cfg: expr_to_instrs and basic_stmt_to_instrs public versions now return a mapping for all types bound by the generated instructions.

Branch metadata

Branch format:
Branch format 6
Repository format:
Bazaar pack repository format 1 with rich root (needs bzr 1.0)
This branch contains Public information 
Everyone can see this information.

Subscribers