summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-01-28Support exit and assert better in sequential interpreter and general ↵Kathy Gray
interpreter interface
2016-01-27Add --max_instruction to sequential interpreter to permit an upper bound on ↵Kathy Gray
instructions run
2016-01-27Add ability to run to a particular instruction execution numberKathy Gray
Could later add the ability to run to a particular instruction form (like we had in ppcmem2) or address
2016-01-27Make mips build againKathy Gray
Make quiet mode for sequential interpreter not print
2016-01-27Fix issue where constraint solver wasn't rewriting enough equality ↵Kathy Gray
constraints and thus causing inequality checks to be missed
2016-01-27start adding breakpointKathy Gray
2016-01-26Stop turning all decreasing vectors into indexed ones : i.e. let's print ↵Kathy Gray
them sensibly at last
2016-01-26fix starting indices for mips initial register values.Robert Norton
2016-01-26Fix some bugs in writing registers with slices in the sequential interpreterKathy Gray
2016-01-26tweak to dependencies to hopefully reduce need to rebuild mips.sail.Robert Norton
2016-01-26Add example of test which dies whilst trying to throw exception.Robert Norton
2016-01-26print reg dump in correct format for cheri test suite. Reinstate timing of ↵Robert Norton
execution.
2016-01-26Fix problem in run_with_model where we forgot that ppcmem2 treats everything ↵Kathy Gray
as increasing, and updated ranges accordingly, and mistakenly were using the wrong range values for register slicing.
2016-01-26move closer to power.sail -> power.ml outputKathy Gray
2016-01-26add example of mips test which fails with first instruction (jal)Robert Norton
2016-01-26dump registers in format expected by cheri test suite when halting. Remove ↵Robert Norton
distinction between prog_mem and data_mem at least for now as data_mem was not being populated correctly (wrong elf flags?).
2016-01-22mips: fix PC update logic so branches might work.Robert Norton
2016-01-22add some test elf files for mips (pinched from cheri test suite).Robert Norton
2016-01-21Start splitting values/etc into int/big_int for ocaml generationKathy Gray
2016-01-21build mips interpreter with -gRobert Norton
2016-01-21mips interpreter successfully executes more than one instruction after some ↵Robert Norton
wrangling of integer types
2016-01-21mips: rename GPRs so that they sort lexicographically for display.Robert Norton
2016-01-20see writes to registers in the register file for sequential interpreterKathy Gray
2016-01-20keep specified order of vectors...Kathy Gray
2016-01-20Assorted bug fixes that gets one mips instruction running (then fails for ↵Kathy Gray
expected reasons) :)
2016-01-20trim some obsolete/bitrotted make stuff.Robert Norton
2016-01-20build all mips stuff in _build. Still hacky and might be preferable to use ↵Robert Norton
ocamlbuild but works OK and shouldn't have to call sanitize.
2016-01-20Decoding a mips instruction :)Kathy Gray
Not executing yet as some previous commit has broken the interpreter's local assignment
2016-01-20Show opcode in sequential interpreter when decode failsKathy Gray
2016-01-19Put None and Some into interpreter environmentsKathy Gray
Also making progress towards separating int sized things from integer sized things
2016-01-19hacky initial makery for mips interpreter. Builds stuff in wrong places and ↵Robert Norton
needs fixing but nearly works.
2016-01-14small edit to previous commitKathy Gray
2016-01-14Fix cumulative effects for circumstance when lifting variable introductions ↵Kathy Gray
out of an if Note: this fixes the local cumulative effects for the e_assign and e_if, it may not properly propagate them to the context of the surrounding block
2016-01-13Closes issue #28 and issue #27Kathy Gray
Note: also adds a most_significant function to the standard library, that returns the lowest indexed bit in a inc bit vector and the biggest indexed bit in a dec bit vector.
2016-01-12Fix undefined nvar occurrences that were impacting ARMKathy Gray
2016-01-11Interpreter interface now supports option<ast> result from decode and etc ↵Kathy Gray
instead of looking for exit calls
2016-01-11Interpreter that understands assertKathy Gray
2016-01-07Add E_assert to basic rewritersKathy Gray
2016-01-06Add new assert expression to SailKathy Gray
This splits the former functionality of exit into errors, which should now use assert(bool,option<string>), and a means of signalling actions such as instruction-level exceptions, interrupts, or other features that impact the ISA. The latter will now be tracked with an effect escape, and so any function containing exit and declared pure will generate a type error. WARNING: ARM spec will not build with this commit until I modify it. MIPS spec will not build with this commit until modified.
2015-12-22More make file goo, and fixing a typo in run_with_elfKathy Gray
2015-12-22More gluing mips to interpreterKathy Gray
2015-12-22Add mips64 to get_elf in MakefileRobert Norton
2015-12-21Merge branch 'master' of https://bitbucket.org/Peter_Sewell/l2Christopher
2015-12-21fixes, pp progressChristopher
2015-12-17Remove external functions that the library provides, having added them to ↵Kathy Gray
the type environment finally. (Also small cleaning of the new makefile)
2015-12-16Fix a bug in checking vector accesses and ranges that was hiding some bugs, ↵Kathy Gray
and causing some incorrect lem_ast generation in mips code
2015-12-16rewriter and pp changes for generating ARM outputChristopher
2015-12-15better location informationChristopher
2015-12-14Adding new location constructor for location of generated termsKathy Gray
2015-12-10fixChristopher