summaryrefslogtreecommitdiff
path: root/src/lem_interp/run_interp.ml
AgeCommit message (Collapse)Author
2017-12-05Update license headers for Sail sourceAlasdair Armstrong
2017-08-16lem_interp: remove broken val_to_string_internal functions, replace with ↵Jon French
string_of_value as used everywhere else
2017-02-03fix headersPeter Sewell
2014-12-11Many fixes, primarily dealing with undefinedKathy Gray
Including: turn an undefined literal into a vector of undefined values of the correct length handle sparse vector unspecified default values as undefined literals allow global lets to call library functions
2014-11-22Add size of register to register for making appropriate unknown register_valuesKathy Gray
2014-11-22Changing interface in step with Peter and ppcmem changesKathy Gray
2014-11-17Use red printing for the value in the hole from Printing_functions instead ↵Kathy Gray
of mangling the ascii manually
2014-11-06Refactor printing to display the contents the [_] and to better format bit ↵Kathy Gray
vectors
2014-10-07Put in type for instruction form for models; remove extra information from ↵Kathy Gray
Bytevectors; add place holder for memory size dependency tracking
2014-10-04clarify Step constructorKathy Gray
2014-08-19make test_power_interactive working again; now using interp_interface ↵Kathy Gray
instead of internal actions
2014-08-14Small tweaks to interp_interface interfaceKathy Gray
Also adding more comments and getting the ml files built in the build process
2014-08-05start tainting values with register dependenciesKathy Gray
2014-08-01Support separated memory read/write functions.Kathy Gray
Also allows register writing functions to be on the left hand side of an assignment in the same way. The last parameter to a writing function is the value to be written, and should appear on the right hand side of an assignment expression.
2014-07-30working dec vectorsKathy Gray
2014-07-16Reading from an alias to two concatenated registers; not writing yet.Kathy Gray
2014-07-15Finishing up some of the support for ExitKathy Gray
2014-06-30Support for nondeterministic blocksKathy Gray
2014-06-10Minor color and build tweaksGabriel Kerneis
2014-06-10More colorsGabriel Kerneis
2014-06-09Improve interaction after chat with PeterGabriel Kerneis
- remember mode (run, step or next) between instructions - display continuation by default in step mode - start in step mode by default - incompatible change: the shorthand for stack is now bt (=backtrace), since s becomes the shorthand for step - incompatible change: pressing enter now repeats the current mode, instead of "step"
2014-06-09Support deinfix pretty-printingGabriel Kerneis
2014-06-09Add "continuation" command in interpreterGabriel Kerneis
This displays the full continuation of the current breakpoint, which is basically the closest that we have from the "context" requested by Peter. Especially using it after the "execute" breakpoint shows the code of the instruction to be executed.
2014-06-09Add switch to show/hide casts in interpreterGabriel Kerneis
Use "show_casts" and "hide_casts" in interactive interpreter to display or show casts in expressions. Hidden by default (makes things much less readable otherwise).
2014-06-07Improve help messageGabriel Kerneis
2014-06-07Print mem and envGabriel Kerneis
2014-06-07Stack printingGabriel Kerneis
2014-06-06Compact debug output and first draft of interactive loopGabriel Kerneis
2014-06-05Enable single-stepping for test/power.sailGabriel Kerneis
2014-05-29Check constraints in power.sail; this required using big_int instead of int ↵Kathy Gray
to support 2**64. Note: now nat (short hand for range<0,infinity>) should only be used if you really mean a nat instead of a bounded number (i.e. range<0,2**32>)
2014-05-28correct mismatched parens didn't mean to commit...Kathy Gray
2014-05-28Support stepped interpreting, and use normalisation instead of eval_nexp in ↵Kathy Gray
constraints
2014-05-21More interface support; interp_inter_imp now compilingKathy Gray
2014-05-12More interface supportKathy Gray
2014-05-08more interface changesKathy 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-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-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-20Workaround missing casts for external callsGabriel 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-19Fix endiannessGabriel Kerneis
This will never end…
2014-03-17Revert broken vector handlingGabriel Kerneis
2014-03-14Support regbits read and writeGabriel Kerneis
No support for non-contiguous writes.
2014-03-14Pretty-print subreg correctlyGabriel Kerneis
2014-03-12Remove automagic register initializationGabriel Kerneis
2014-03-11More work on interpreter and Power modelGabriel Kerneis
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-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-28Load ELF sections to virtual memory addressesGabriel Kerneis
Roughly 110KB/s (~5 seconds to load "hello" test).
2014-02-27More flexible test executionGabriel Kerneis