summaryrefslogtreecommitdiff
path: root/src/lem_interp/interp.lem
AgeCommit message (Collapse)Author
2014-11-24improve value to string for debuggingKathy Gray
2014-11-24wibKathy Gray
2014-11-24Missing patterns in pattern matchesKathy Gray
2014-11-24coerce single element bit vector to bit for conditionalsKathy Gray
2014-11-23slice Only when I should and not to erase an register writeKathy Gray
2014-11-23Slice generated vectors when appropriateKathy Gray
2014-11-23Treat undef like unknown when needing a vector assignment of themKathy Gray
2014-11-23make interpreter work better with unknowns, make interp_inter_imp do better ↵Kathy Gray
on coercions
2014-11-23Print out value when pattern match failsKathy Gray
2014-11-23make interpreter now buildsKathy Gray
and I *think* that I'm making vectors of unknowns in all the necessary places now.
2014-11-23in progressKathy Gray
2014-11-22Add size of register to register for making appropriate unknown register_valuesKathy Gray
2014-11-21Fix bugs now documented in ppcmem notesKathy Gray
2014-11-20abstract previousKathy Gray
2014-11-20Use better type information for register inspectionsKathy Gray
2014-11-20Handle constructors with zero parameters better.Kathy Gray
2014-11-20Set vector start for more register writesKathy Gray
2014-11-20set more vector starts before sending them off to register writesKathy Gray
2014-11-19Correct off-by-one bug in type checking vector slicesKathy Gray
Convert sparse vectors into full-fledged vectors more frequently and on export to memory system
2014-11-18Fix various pattern match bugs; add a few functionsKathy Gray
2014-11-17Make env_union intelligently join two environments instead of just list append.Kathy Gray
2014-11-16Add overflow checking arithmetic operations. Fix various bugs that this exposedKathy Gray
Of note: Interp_lib.to_num now takes an Unsigned or a Signed constructor, rather than a boolean
2014-11-13numbers got to big for show, write my own versionKathy Gray
2014-11-06Refactor printing to display the contents the [_] and to better format bit ↵Kathy Gray
vectors
2014-11-05Fix bug on decoding ScKathy Gray
2014-11-04Read parts of a register, not always just the whole thingKathy Gray
2014-11-04Fixes bugs:Kathy Gray
not setting starting bit of vector properly not treating properly if when given a non boolean --- bool largely removed in place of bit, removing many/most is_one casts but true and false are still possible values coerces between bit vectors of length one and bits again, because reading from a register can otherwise be wrong with respect to the interface
2014-11-04Fix setting of initial position in a vector after a sliceKathy Gray
2014-10-28taint tracking unknown in interpreterKathy Gray
2014-10-28hacks on taint trackingPeter Sewell
2014-10-28Add proper tag to constructors when storing continuationKathy Gray
2014-10-16bug fixes to run test from Christopher's testsKathy Gray
2014-10-07Connect interpreter to representation of instructions.Kathy Gray
Warning: this changes a few of the constructor names in the instruction_extractor.lem interface
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-09-04Make exhaust run from the first breakpoint in the interactive interpreterKathy Gray
(I still think this is a silly place to run exhaust from, but it no longer finds errors or crashes)
2014-08-26small changes for armKathy Gray
2014-08-21Improve printing of function calls in stepper modeKathy Gray
2014-08-18Handling many register reads, writes, and memory reads.Kathy Gray
There are problems that warrant discussion about handling special registers that hold records or data structures previously.
2014-08-18Switch run_power to use interp_interface. Compilers and begins running, and ↵Kathy Gray
then hits an error. So still in progress Note: moved barrier kind changes to interp_interface, along with other memory kinds
2014-08-18tweak barrier kinds in interface (likely needs changes elsewhere)Peter Sewell
2014-08-13FInd/fix a redundant case now that warnings are manageableKathy Gray
2014-08-12taint tracking through most of interpreterKathy Gray
Need to add cases for tracking a taint past a conditional check where possible; and then to actually generate them from reading registers.
2014-08-12more taint tracking, yet againKathy Gray
2014-08-11More taint tracking.Kathy Gray
Catch interp_inter_imp up with interp. WARNING: This commit triggers an exponential performance bug in Lem. To alleviate this bug, I am running with a locally modified Lem that has line 1321 of lem/src/typed_ast.ml commented out (On my laptop, I gave up trying to compile after about 900 seconds; beefier computers May be able to run unmodified, I don't know)
2014-08-09More tracking register dependency; another check point that compiles in ↵Kathy Gray
under two minutes
2014-08-08Tracking register dependence.Kathy Gray
Check point where Lem will compile interpreter in under 2 minutes
2014-08-07Fix bug introduced by last commitKathy Gray
2014-08-07Track taints across machine calls.Kathy Gray
This introduced a bug in vector.sail, commented out and needs to be fixed.
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.