summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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
2015-12-09adapted for Kathy's lexp effect typing changes: register writes should be ↵Christopher
correct now, fixes, pp
2015-12-09Fix overlooked case of effect tagging for sub register writes. Close issue ↵Kathy Gray
#23 again
2015-12-08wreg effects and tags now proper for LEXP_field, LEXP_vector ↵Kathy Gray
LEXP_vector_range for sub register writes. Closes issue #23
2015-12-08Some easy fixes to vector and list type inference. Closes issue #25 and ↵Kathy Gray
issue #26
2015-12-07Merge branch 'master' of https://bitbucket.org/Peter_Sewell/l2Christopher
2015-12-07adapted pp for Kathy's effect type changesChristopher
2015-12-07Interpreter working again with updated tag, effects, and types behaviourKathy Gray
2015-12-07Reading of register slices and bits should now be tagged and effect ↵Kathy Gray
annotated properly, as well as field accesses. Writing of register slices and bits still look like writes of full registers from tags and effects (probably, if it works, it's an accident) WARNING: interpreter still not up to date with this change
2015-12-04First bit of making tags and effects on sub vector accesses work for static ↵Kathy Gray
compilation. So, it should be right for E_field, but isn't right for E_vector_access, and hasn't begun for E_vector_subrange Isn't right for any writes **WARNING** lem ast files generated from this may not have the proper behaviour on field accesses.
2015-12-03added prompt.lem for connecting to concurrency model and ↵Christopher Pulte
{power,armv8}_extras.lem; fixes
2015-11-25non-working sail/mips interpreter integration for kathy to look at and ↵Robert Norton
example mips elf file.
2015-11-25fixes, ppChristopher Pulte
2015-11-24Fixup effect equality bug introduced by adding e_escapeKathy Gray
2015-11-24Add BE_escape effect when an E_exit is seenKathy Gray
Close #20
2015-11-22do effect annotation updates more systematically, fix dedupChristopher Pulte
2015-11-20Merge branch 'master' of https://bitbucket.org/Peter_Sewell/l2Christopher Pulte
2015-11-20no more unecessary variables from removing vector-concatenation pattern ↵Christopher Pulte
matches, reset variable name counter for each function clause, fixes
2015-11-20make the abis directory as wellKathy Gray
2015-11-20fixes to get-elf to work on linux. Hope it works on Mac too.Robert Norton
2015-11-19Merge branch 'master' of https://bitbucket.org/Peter_Sewell/l2Christopher Pulte
2015-11-19fixes for cumulative effect anotationsChristopher Pulte
2015-11-19Keep up with linksemKathy Gray
2015-11-19More makefile typeKathy Gray
2015-11-19typo in make fileKathy Gray