Mars assembly: Use atoms rather than variable names
Bug #440429 reported by
Matt Giuca
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mars |
Fix Released
|
Medium
|
Matt Giuca |
Bug Description
In the Mars assembly code, all instructions refer to variable names. This means expressions with integer literals or constructor names need to be compiled into ld_intlit/ld_ctor instructions (to temporary variables), and then variable references. It would make assembly code much shorter and easier to read (by humans, anyway) if all instructions used *atoms* rather than variable names, where an atom is a variable name, constructor name, or int literal.
Related branches
lp:~mgiuca/mars/atom
- Matt Giuca: Approve
-
Diff: 894 lines (+233/-144)10 files modifieddoc/dev/isa.rst (+16/-19)
src/ast_cfg.m (+70/-45)
src/cfg.m (+1/-1)
src/interactive.m (+6/-1)
src/interpret.m (+30/-19)
src/ir.m (+19/-15)
src/pretty.m (+14/-20)
src/typedict.m (+34/-11)
src/usedef.m (+14/-13)
test/cases/compiler/ctorsym-unify.mar (+29/-0)
Changed in mars: | |
status: | Triaged → In Progress |
Changed in mars: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
Milestoning; it will be good to simplify the assembly representation, especially for string literals.