| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2017-12-06 | Merge remote branch 'experiments' into experiments | Thomas Bauereiss | |
| 2017-12-06 | Make AST after rewriting for Lem backend type-checkable | Thomas Bauereiss | |
| - Add support for some internal nodes to type checker - Add more explicit type annotations during rewriting - Remove hardcoded rewrites for E_vector_update etc from Lem pretty-printer; these will be resolved by the type checker during rewriting now | |||
| 2017-11-30 | Merge branch 'master' into experiments | Alasdair Armstrong | |
| 2017-11-07 | Add builtin for reversing endianness | Thomas Bauereiss | |
| 2017-11-07 | Declare prelude functions as extern | Thomas Bauereiss | |
| Also, rename a few functions for uniformity, e.g. bool_and -> and_bool | |||
| 2017-11-02 | Merge branch 'experiments' | Thomas Bauereiss | |
| 2017-11-02 | Fix translation of repeat-until loops to Lem | Thomas Bauereiss | |
| 2017-11-01 | added RISC-V "fence r,r" | Shaked Flur | |
| 2017-11-01 | Support bitvector-size-parametric functions in Lem output | Brian Campbell | |
| Translates atom('n) types into itself('n) types that won't be erased Also exports more rewriting functions | |||
| 2017-10-31 | Pretty-print Sail assertions in Lem | Thomas Bauereiss | |
| Map to calls to monadic function assert_exp that throws an exception if the assertion is false | |||
| 2017-10-25 | Avoid name clash in generated Lem | Brian Campbell | |
| (complains due to added val spec) | |||
| 2017-10-24 | fix default cap value on cheri128 following previous changes -- E stored in ↵ | Robert Norton | |
| registers is no longer xored with 48 so need to initialise it. Also use E and T values used by CHERI hw and adjust decoding functions appropriately. Fix shift functions for ocaml shallow embedding which failed to handle shifts greater than vector length. | |||
| 2017-10-23 | Merge branch 'experiments' into mono-experiments | Brian Campbell | |
| 2017-10-19 | Make some potentially non-terminating library functions terminate | Thomas Bauereiss | |
| 2017-10-18 | Merge branch 'experiments' of Peter_Sewell/sail into mono-experiments | Brian Campbell | |
| (and fix up monomorphisation) | |||
| 2017-10-13 | Make Sail_values.repeat total, and remove duplicate | Brian Campbell | |
| 2017-10-13 | Name (bit)vector operations more explicitly | Thomas Bauereiss | |
| Moreover, add support for pretty-printing (to Lem) vector access/update operations for vectors with non-constant, but normalized start index. | |||
| 2017-10-13 | Add support for real numbers to Lem backend | Thomas Bauereiss | |
| Requires version of Lem with real number support, currently at https://bitbucket.org/bauereiss/lem/branch/reals | |||
| 2017-10-06 | Implement replicate_bits for mwords | Brian Campbell | |
| 2017-10-02 | Merge branch 'experiments' into mono-experiments | Brian Campbell | |
| 2017-09-29 | Support vector registers (other than bitvectors) | Thomas Bauereiss | |
| 2017-09-29 | fix deep_shallow_convert, stop using interp_interface.instruction for most ↵ | Christopher Pulte | |
| things, SF and CP bugfixing | |||
| 2017-09-29 | Merge branch 'experiments' of bitbucket.org:Peter_Sewell/sail into experiments | Thomas Bauereiss | |
| 2017-09-29 | Some more refactoring of Sail library | Thomas Bauereiss | |
| - Remove start indices and indexing order from bitvector types. Instead add them as arguments to functions accessing/updating bitvectors. These arguments are effectively implicit, thanks to wrappers in prelude_wrappers.sail and a "sizeof" rewriting pass. - Add a typeclass for bitvectors with a few basic functions (converting to/from bitlists, converting to an integer, getting and setting bits). Make both monads use this interface, so that they work with both the bitlist and the machine word representation of bitvectors. | |||
| 2017-09-28 | Merge branch 'experiments' into mono-experiments | Brian Campbell | |
| 2017-09-27 | Add while-loops to Lem backend | Thomas Bauereiss | |
| 2017-09-26 | fixes | Christopher Pulte | |
| 2017-09-21 | wib | Shaked Flur | |
| 2017-09-19 | fix | Christopher Pulte | |
| 2017-09-15 | reinstate deep/shallow conversion | Christopher Pulte | |
| 2017-09-04 | Merge branch 'experiments' of bitbucket.org:Peter_Sewell/sail into ↵ | Brian Campbell | |
| mono-experiments | |||
| 2017-09-03 | added RISC-V strong-acquire/release | Shaked Flur | |
| 2017-09-02 | Remove dependency of state.lem on bitvector operations | Thomas Bauereiss | |
| 2017-08-29 | Make Lem export of CHERI(-256) typecheck | Thomas Bauereiss | |
| Note: The effect annotations of the execute function differ between CHERI and MIPS, so I split out a new file mips_ast_decl.sail for MIPS with just the initial declarations of ast, decode, and execute (with the right effects for MIPS). | |||
| 2017-08-28 | Eta expand lem for OCaml generation | Brian Campbell | |
| 2017-08-28 | Merge branch 'experiments' into mono-experiments | Brian Campbell | |
| 2017-08-28 | Correct indexing and equality for bitvectors | Brian Campbell | |
| 2017-08-28 | Merge branch 'experiments' of bitbucket.org:Peter_Sewell/sail into ↵ | Brian Campbell | |
| mono-experiments # Conflicts: # src/gen_lib/sail_values.lem | |||
| 2017-08-24 | Improve and simplify handling of mutable local variables | Thomas Bauereiss | |
| 2017-08-24 | Begin refactoring Sail library | Thomas Bauereiss | |
| - Add back support for bit list representation of bit vectors, for backwards compatibility in order to ease integration with the interpreter. For this purpose, split out a file sail_operators.lem from sail_values.lem, and add a variant sail_operators_mwords.lem for the machine word representation of bitvectors. Currently, Sail is hardcoded to use machine words for the sequential state monad, and bit lists for the free monad, but this could be turned into a command line flag. - Add a prelude_wrappers.sail file for glueing the Sail prelude to the Lem library. The wrappers make use of sizeof expressions to extract type information from bitvectors (length, start index) in order to pass it to the Lem functions. - Add early return support to the free monad, using a new constructor "Return of 'r". As with the sequential monad, functions with early return are wrapped into "catch_early_return", which extracts the return value at the end of the function execution. | |||
| 2017-08-23 | Update monomorphisation test script | Brian Campbell | |
| 2017-08-22 | and fix that other places | Christopher Pulte | |
| 2017-08-22 | adapt state.lem to RISCV additions | Christopher Pulte | |
| 2017-08-21 | Merge branch 'experiments' into mono-experiments | Brian Campbell | |
| 2017-08-18 | Correct indexing and equality for bitvectors | Brian Campbell | |
| 2017-08-18 | Fixed a bug where sizeof re-writing fail for aliased type arguments | Alasdair Armstrong | |
| Also: Merge remote-tracking branch 'origin/sail_new_tc' into experiments | |||
| 2017-08-17 | Add support for register types other than bitvector to state monad | Thomas Bauereiss | |
| Make state monad parametric in register state, and generate a record with registers from the Sail spec | |||
| 2017-08-17 | Merge remote-tracking branch 'origin' into mono-experiments | Brian Campbell | |
| # Conflicts: # src/type_internal.ml | |||
| 2017-08-16 | Eta-expansion in sail_values to make OCaml happy | Brian Campbell | |
| 2017-08-15 | Improve and simplify handling of mutable local variables | Thomas Bauereiss | |
