| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2014-05-12 | More interface support | Kathy Gray | |
| 2014-05-08 | more interface changes | Kathy Gray | |
| 2014-04-04 | Cosmetic improvements (statistics, --quiet) | Gabriel Kerneis | |
| 2014-04-04 | Improve Power execution | Gabriel Kerneis | |
| - Move FDE loop to the OCaml side of the Power model (avoid leaking memory due to lack of TCO in interpreter) - Display cycle count - Check the value of CIA at the end of each cycle and stop if it is equal to the initial value of LR, returning the value in GPR3. | |||
| 2014-04-02 | Solve more constraints; fix up test suite bugs uncovered by solving more ↵ | Kathy Gray | |
| constraints. Clean up Lem output a little for readability while debugging. | |||
| 2014-03-20 | Remove work-around from interpreter, move it to power.sail | Gabriel Kerneis | |
| Two bugs are worked-around here: - missing cast to nat when a vector is wrapped in exts (exts is a no-op currently anyway, so we are discarding it) - missing cast (due to limited type-inference) in one if branch: type given explicitly. | |||
| 2014-03-20 | Workaround missing casts for external calls | Gabriel Kerneis | |
| This patch should be reverted when the interpreter is fixed. The first instruction of main.bin is now executed. The second one fails, seemingly because of a similar missing cast issue (external function add receives register GPR1 as value). | |||
| 2014-03-19 | Fix endianness | Gabriel Kerneis | |
| This will never end… | |||
| 2014-03-17 | Revert broken vector handling | Gabriel Kerneis | |
| 2014-03-14 | Support regbits read and write | Gabriel Kerneis | |
| No support for non-contiguous writes. | |||
| 2014-03-14 | Pretty-print subreg correctly | Gabriel Kerneis | |
| 2014-03-12 | Remove automagic register initialization | Gabriel Kerneis | |
| 2014-03-11 | More work on interpreter and Power model | Gabriel Kerneis | |
| 2014-03-07 | Treat registers as values when not being actively read or written to, so ↵ | Kathy Gray | |
| that we can have a vector of registers for example. Also, register types can be explicitly referenced. | |||
| 2014-02-28 | Fix endianness | Gabriel Kerneis | |
| In fact, increasing order is big-endian, not little-endian. This is good news for us, because it means we do not need any switch for the POWER spec. | |||
| 2014-02-28 | Load ELF sections to virtual memory addresses | Gabriel Kerneis | |
| Roughly 110KB/s (~5 seconds to load "hello" test). | |||
| 2014-02-27 | More flexible test execution | Gabriel Kerneis | |
| 2014-02-27 | Merge branch 'interp_typed' | Kathy Gray | |
| Conflicts: src/lem_interp/interp.lem src/lem_interp/run_interp.ml | |||
| 2014-02-26 | Get interpreter working using types, no added functionality yet | Kathy Gray | |
| 2014-02-26 | Debug and fix memory multi-bytes memory writes | Gabriel Kerneis | |
| 2014-02-25 | Manage annot | Kathy Gray | |
| 2014-02-25 | First step of using type information in interpreter. Reading and writing ↵ | Kathy Gray | |
| plain registers supported; memory reading and writing is broken. | |||
| 2014-02-21 | Add type annotations to lem grammar, including printing out the annotated ↵ | Kathy Gray | |
| ast, and extending the interpreter to expect annotations. Annotations and locations are still not used by the interpreter. | |||
| 2014-02-18 | Report failing tests and return 1 in case of error | Gabriel Kerneis | |
| 2014-02-18 | Improve interpreter pretty-printing | Gabriel Kerneis | |
| 2014-02-14 | Attempt multi-byte memory read and write | Gabriel Kerneis | |
| Test seems to fail for some reason, probably endianess and off-by-one bugs all over the place. Needs debugging code to monitor memory updates and display bitvectors in a compact way. | |||
| 2014-02-14 | Write slice to memory | Gabriel Kerneis | |
| I'm not sure whether this is useful at all. It is currently a bit broken when subrange is not in the "correct" order. Presumably the typechecker should catch this? I'm not quite sure what the intended semantics should be. Probably the same bug occurs with register slices too. | |||
| 2014-02-14 | Register slice write | Gabriel Kerneis | |
| 2014-02-13 | Index memory with big_ints in interpreter | Gabriel Kerneis | |
| Also add support for sliced reads. Still need to implement sliced writes, as well as multi-word memory writes. | |||
| 2014-02-13 | Display backtrace when interpreter fails | Gabriel Kerneis | |
| 2014-02-12 | Fix endianess issues | Gabriel Kerneis | |
| 2014-02-12 | Replace nat by natural in interpreter | Gabriel Kerneis | |
| 2014-01-09 | Fixed bug in resuming after an action (which was manifesting as an apparent ↵ | Kathy Gray | |
| pattern match bug, which was actually working fine). | |||
| 2013-12-16 | test: catch and print exceptions | Gabriel Kerneis | |
| 2013-12-06 | Output test name on start | Gabriel Kerneis | |
| 2013-11-28 | Updated syntax with working examples | Kathy Gray | |
| 2013-11-07 | Stub for external calls | Gabriel Kerneis | |
| 2013-11-05 | Support parsing for extern calls | Gabriel Kerneis | |
| 2013-10-16 | Basic MEM and register implementation for interpreter | Gabriel Kerneis | |
| This is extremely naive, and does not support slices. | |||
| 2013-10-16 | Clean up action pretty-printing | Gabriel Kerneis | |
| 2013-10-15 | Resume interpreter after actions | Gabriel Kerneis | |
| At the moment, writes are ignored and reads always return unit. | |||
| 2013-10-14 | Run main() to execute tests | Gabriel Kerneis | |
| Tests do not pass because of weird pattern-matching errors in the interpreter. | |||
| 2013-10-14 | Pretty-print interpeter values | Gabriel Kerneis | |
| 2013-10-10 | Run interpreter | Gabriel Kerneis | |
| Forgotten because of a wrong .gitignore. | |||
