summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2014-05-12OCamlbuild magic to use PPrintGabriel Kerneis
2014-05-12Import pprint libraryGabriel Kerneis
2014-05-12More interface supportKathy Gray
2014-05-08more interface changesKathy Gray
2014-05-06Begin tie to ppcmem style actions/outcomesKathy Gray
Change type of + on vectors to (bit vector,bit vector) -> bit vector
2014-05-01Make an overloading type decision (all + operations return ranges, never ↵Kathy Gray
vectors) and make the test suite pass again
2014-04-30More 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-28Add support for overloading for better constraints, and for reducing the ↵Kathy Gray
number of coercions
2014-04-25more support for path-aware (ish) constraint checkingKathy Gray
2014-04-25rename interpreter's local memory type to reflect that it's all local memoryKathy Gray
2014-04-23Rename main to sail, build pretty_printer libGabriel Kerneis
2014-04-23make docGabriel Kerneis
Build html doc of module interface
2014-04-21Remove unsoundness of pattern match in interpreterKathy Gray
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-15Put conditional path information into constraint gathering so that checking ↵Kathy Gray
uses appropriate information gleaned from pattern matching
2014-04-10more constraint resolution; and turning off some assert falses until I find ↵Kathy Gray
out why unification isn't being forced everywhere it needs to
2014-04-08Reduce redundant information in ASTKathy Gray
2014-04-08Try to reduce size of Lem output a little bitKathy Gray
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-03Implement some arithmetic operationsGabriel Kerneis
2014-04-03Re-index vector slicesGabriel Kerneis
- increasing vector slices are re-indexed from 0 - decreasing vector slices are re-indexed towards 0 I don't know how the type system handles this currently, but it is essential for the correctness of execution.
2014-04-03Implement bitwise library operationsGabriel Kerneis
2014-04-03Remove workarounds and update Power modelGabriel Kerneis
2014-04-03Typeclass Eq for valuesGabriel Kerneis
Again, this is necessary to compare big_int
2014-04-03make sail backwards compatible to older ocaml againKathy Gray
2014-04-03Do implicit coercions on expliciit castsKathy Gray
2014-04-03Fix arity error in bitwise helper functionKathy Gray
2014-04-03start solving more constraintsKathy Gray
2014-04-03Exhibit two bugs about bitwise operators and vector castsGabriel Kerneis
2014-04-03Correct types of bitwise operatorsGabriel Kerneis
2014-04-03More constraint solving through evaluation, fix size knowledge on coercion.Kathy Gray
2014-04-02Fix bug that was throwing away the cast telling the interpreter to read a ↵Kathy Gray
register
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-02eq and neq return bit, not boolGabriel Kerneis
2014-04-02Fix EXTS and signedness of to_numGabriel Kerneis
2014-04-02Update Power modelGabriel Kerneis
2014-04-02Skip constraint resolution to build Power modelGabriel Kerneis
2014-04-02Add more information for resolving constraints involving variables; clean up ↵Kathy Gray
various constraint generation (removing repetitive and adding missing constraints)
2014-04-02Add -skip_constraints to type-check without constraintsGabriel Kerneis
2014-04-01Allow negative "nat" internallyGabriel Kerneis
to_num and to_vec probably still need to be fixed
2014-04-01Fix parsing of nexp constraintsGabriel Kerneis
2014-04-01More type corrections for constraintsKathy Gray
2014-04-01constraint corrections for to_num and to_vecKathy Gray
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.