summaryrefslogtreecommitdiff
path: root/src/test
AgeCommit message (Collapse)Author
2014-06-05Enable single-stepping for test/power.sailGabriel Kerneis
2014-06-04Fixup type coercions and overloadingKathy 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-06-02Fix dependent-type for MEM in power.sailGabriel Kerneis
Now, constraint resolution works for test/power.sail
2014-05-30Add pretty-printer test (idempotence)Gabriel Kerneis
Fails in most cases because of "fresh" variables in type annotations that cannot be parsed again.
2014-05-30Remove bit-rotted, abonned test fileGabriel Kerneis
2014-04-15Use type information in vector concatenation pattern matching in interpreter.Kathy Gray
Does not properly bind variables (i.e. in the pattern 0b01:(bit[3]) a: 0b0001 subsequent uses of a will not be bound in the interpreter, though they are in the type checker), so until bug is fixed, treat all such identifiers as _
2014-04-04Cosmetic improvements (statistics, --quiet)Gabriel Kerneis
2014-04-04Improve Power executionGabriel 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-03Power example now EXECUTES (almost) CORRECTLY! \o/Gabriel Kerneis
Warning: we set the link register to the address of the first instruction, which means the program is effectively an infinite loop returning 42 forever. (Except it slows down and leaks memory, probably because the interpreter doesn't optimise the tail call in fde_loop.) 42, 42, 42, 42, 42, 42, 42, 42, ...
2014-04-03Remove workarounds and update Power modelGabriel Kerneis
2014-04-03Exhibit two bugs about bitwise operators and vector castsGabriel Kerneis
2014-04-02Solve 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-02Checking missing cast for register as value in testsuiteGabriel Kerneis
2014-04-02Fix EXTS and signedness of to_numGabriel Kerneis
2014-04-02Update Power modelGabriel Kerneis
2014-03-31Fix constraint bug with +Kathy Gray
2014-03-31Extend constraint checking, and add casts for base of a vector shifts (i.e. ↵Kathy Gray
from 0 to 32 etc, doesn't change order yet.).
2014-03-31test/vectors.sail: failing constraint checkingGabriel Kerneis
Type error: Type constraint mismatch: constraint arising from here requires 0 to be greater than or equal to 32
2014-03-27Check simple constraints (i.e. ones using only constants).Kathy Gray
Changes syntax of tuple type from * to , so that nexps of the form 8 * 'n can be supported in the parser, which was apparently not true before.
2014-03-23adding if testKathy Gray
2014-03-23Correctly unify types with default declarations and across if blocks for ↵Kathy Gray
introduced variables.
2014-03-20reset earlier commits to test3, that were supposed to be chosen instead of ↵Kathy Gray
my changes in the conflict resolution but oops.
2014-03-20small test changesKathy Gray
2014-03-20Add missing GPR registers for Power exampleGabriel Kerneis
Second instruction now executes (but probably not correctly, check arithmetic since we ignore exts). Next step is to implement bitwise_or.
2014-03-20Remove work-around from interpreter, move it to power.sailGabriel 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-20More tests for implicit castsGabriel Kerneis
The last test added in vectors.sail fails.
2014-03-19Fetch-decode-execute & init for powerGabriel Kerneis
2014-03-19Fix bug when reading register through a castKathy Gray
2014-03-17More coercionsKathy Gray
2014-03-14Support regbits read and writeGabriel Kerneis
No support for non-contiguous writes.
2014-03-13Make test_power compiling againGabriel Kerneis
2014-03-12Correctly type checking and interpreting accesses of register "fields". ↵Kathy Gray
Register-reading action isn't reading the subreg correctly still (seems to be making up a value though). Corrects but to vectors.sail and power.sail use of plus. (A new bug in power.sail is exposed using a binary operator with one value)
2014-03-11Change treatment of type abbreviations so that name and full type are ↵Kathy Gray
available for field lookups of registers; this feature still not fully working.
2014-03-11Exhibit bug in interpreter in vector testGabriel Kerneis
2014-03-11More work on interpreter and Power modelGabriel Kerneis
2014-03-11Increase support for register "field" accesses; there is now a bug in how ↵Kathy Gray
run_interp handles SubReg register forms.
2014-03-07Treat 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-03-04Minimal power model to run hello worldGabriel Kerneis
Crashes because register initialization is missing.
2014-03-03new test fileKathy Gray
2014-03-03Fixing assorted bugs. Adding ability to put a type on the identifier being ↵Kathy Gray
assigned to in assignments.
2014-03-01Fix printing bug on vector slicing that caused only one element to ever be ↵Kathy Gray
sliced
2014-02-28Fix endiannessGabriel 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-28Fetch-decode POWER interpreterGabriel Kerneis
Many limitations and bugs currently, but loads binary and decodes opcodes correctly (using endianness hacks). Disabled in the default test suite (but still compiled), run "make test_power" to try it.
2014-02-28Load ELF sections to virtual memory addressesGabriel Kerneis
Roughly 110KB/s (~5 seconds to load "hello" test).
2014-02-28Correct bug in parsing and handling a['a:'b] typesKathy Gray
2014-02-27Load POWER binary into interpreter's memoryGabriel Kerneis
2014-02-27Merge branch 'interp_typed'Kathy Gray
Conflicts: src/lem_interp/interp.lem src/lem_interp/run_interp.ml
2014-02-26Get interpreter working using types, no added functionality yetKathy Gray
2014-02-25Sensible types for POWER registersGabriel Kerneis
2014-02-18Remove spurious add infixGabriel Kerneis