| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2014-11-21 | Support signed and unsigned arithmetic | Kathy Gray | |
| 2014-11-21 | Print out default values for underspecified vectors instead of leaving them ↵ | Kathy Gray | |
| and letting them turn into undefineds | |||
| 2014-11-20 | look for sub matches of registers on exhaustive mode | Kathy Gray | |
| 2014-11-18 | Fix various pattern match bugs; add a few functions | Kathy Gray | |
| 2014-11-16 | Add some missing functions | Kathy Gray | |
| 2014-11-16 | Add overflow checking arithmetic operations. Fix various bugs that this exposed | Kathy Gray | |
| Of note: Interp_lib.to_num now takes an Unsigned or a Signed constructor, rather than a boolean | |||
| 2014-11-05 | Correct bug treating unsigned values as signed in arith operations | Kathy Gray | |
| 2014-10-30 | Add case to neg for interp_lib | Kathy Gray | |
| 2014-10-28 | Allow tracking of unknowns in interp library, removing the P hacks. | Kathy Gray | |
| Add a function from instruction to istate | |||
| 2014-10-28 | hacks on taint tracking | Peter Sewell | |
| 2014-10-22 | Update printing for testing, fix some bugs found along the way | Kathy Gray | |
| 2014-10-16 | bug fixes to run test from Christopher's tests | Kathy Gray | |
| 2014-10-14 | Iron out bugs in running new executable with branching; add new executable ↵ | Kathy Gray | |
| as well. | |||
| 2014-09-04 | Make exhaust run from the first breakpoint in the interactive interpreter | Kathy Gray | |
| (I still think this is a silly place to run exhaust from, but it no longer finds errors or crashes) | |||
| 2014-08-27 | Changes to get another (slightly larger) executable running; | Kathy Gray | |
| adding executable as a test as well | |||
| 2014-08-20 | Add ability to track register dependencies in interactive stepper; thus ↵ | Kathy Gray | |
| testing register tracking/tainting | |||
| 2014-08-13 | Update library functions | Kathy Gray | |
| 2014-07-30 | working dec vectors | Kathy Gray | |
| 2014-07-01 | Update case of EXTS | Gabriel Kerneis | |
| 2014-06-25 | Add support for actions that read just a slice or single bit of a register | Kathy Gray | |
| 2014-06-24 | Get enumerations working in interpreter | Kathy Gray | |
| (plus a few other small related corrections) | |||
| 2014-06-24 | Get vector length for to_inc_vec and to_dec_vec from the type system after ↵ | Kathy Gray | |
| constraint solving (instead of hardcoding 64 as the default). | |||
| 2014-06-19 | Add mod:vec->range->vec | Gabriel Kerneis | |
| 2014-06-18 | Fix mod_vec in library | Gabriel Kerneis | |
| 2014-06-18 | Add definition of mod to lib | Kathy Gray | |
| 2014-06-12 | Interpret when an unknown is inserted into the program by interp_exhaustive | Kathy Gray | |
| Short version of below; ready to hook interp_exhaustive up to something to test, but haven't yet. If an unknown value influences a pattern match within an expression, each passing pattern is found and the bodies strung together into a block with let expressions to bind the variables. In a function call, the cases are all collected but the support is not in place at the moment to evaluate them. If an unknown is the result of the cond expression in an if, the then and else case become a block. Unknowns within the interpreter propagate to more Unknowns; also for some but not all library functions yet. | |||
| 2014-06-11 | Equality between range and bit vector | Gabriel Kerneis | |
| The type-constraints are inspired from those for (+). They seem to work but I am not sure they make sense. The vector is interpreted as unsigned. | |||
| 2014-06-11 | Improve error message for missing library functions | Gabriel Kerneis | |
| 2014-06-09 | Merge branch 'for-dagstuhl' into master | Gabriel Kerneis | |
| Conflicts: src/lem_interp/interp_lib.lem src/lem_interp/run_interp.ml Remove "to_vec_safe" work-around | |||
| 2014-06-07 | Add optional overloading on expected return type to fix bug in constraint ↵ | Kathy Gray | |
| solving; get test_power running again by supporting the correct operations and bit operations | |||
| 2014-06-07 | exts returns bit[64] instead of nat | Gabriel Kerneis | |
| Update power.sail to new, pretty-printer-based version | |||
| 2014-06-06 | Improve work-around | Gabriel Kerneis | |
| Default to 64 bit for vec + range | |||
| 2014-06-05 | Refactor to_vec and add work-around to avoid truncation | Gabriel Kerneis | |
| 2014-06-04 | Fixup type coercions and overloading | Kathy Gray | |
| Reduce the number of implicit coercions we're doing, expanding overloading and fixing up types of functions. Warning: test_power does not run as not all overloaded funcitons are implemented Warning: vector concatenation does not pretty print to sail source yet | |||
| 2014-05-06 | Begin tie to ppcmem style actions/outcomes | Kathy Gray | |
| Change type of + on vectors to (bit vector,bit vector) -> bit vector | |||
| 2014-05-01 | Make an overloading type decision (all + operations return ranges, never ↵ | Kathy Gray | |
| vectors) and make the test suite pass again | |||
| 2014-04-30 | More support for overloading functions; primarily focusing on + | Kathy Gray | |
| WARNING: vector test breaks due to not having implemented the full range of different + functions In general, we need to decide whether vector + vector, vector + range and range + vector should all return ranges, vectors or a mixture | |||
| 2014-04-03 | Implement some arithmetic operations | Gabriel Kerneis | |
| 2014-04-03 | Implement bitwise library operations | Gabriel Kerneis | |
| 2014-04-03 | Typeclass Eq for values | Gabriel Kerneis | |
| Again, this is necessary to compare big_int | |||
| 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-04-02 | eq and neq return bit, not bool | Gabriel Kerneis | |
| 2014-04-02 | Fix EXTS and signedness of to_num | Gabriel Kerneis | |
| 2014-04-01 | Allow negative "nat" internally | Gabriel Kerneis | |
| to_num and to_vec probably still need to be fixed | |||
| 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-11 | More work on interpreter and Power model | Gabriel Kerneis | |
| 2014-03-11 | Confusion between first index and vector length | Gabriel Kerneis | |
| 2014-03-04 | More polymorphism for addition | Gabriel Kerneis | |
| 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. | |||
