lp:~mgiuca/mars/interactive-ssa
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
Branch merges
Related bugs
Bug #580487: Interactive doesn't assign unique names to variables | Critical | Fix Released |
Related blueprints
Branch information
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. - 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)