about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2017-08-03with Validation MIR around drop being fixed, we can remove the hack working ↵Ralf Jung-7/+2
around this
2017-08-03Revert "disable validation code so that it all compiles against current nightly"Ralf Jung-35/+10
This reverts commit 791dbaf58402ef87c16485be8d8ee37b5aa1dda3.
2017-08-03Merge pull request #280 from solson/archeologyOliver Schneider-119/+189
Produce backtraces for miri internals
2017-08-03fix commentRalf Jung-1/+4
2017-08-03Reuse the `Backtrace` object instead of rolling our ownOliver Schneider-28/+41
2017-08-03Remove accidental text pasteOliver Schneider-1/+1
2017-08-02fix size_of_val on unsized tuplesRalf Jung-5/+15
2017-08-02step.rs: improve comment for clarityRalf Jung-4/+4
2017-08-02Produce backtraces for miri internalsOliver Schneider-120/+177
2017-08-01Process untagged unionsOliver Schneider-2/+6
2017-08-01Address commentsOliver Schneider-6/+6
2017-08-01Properly process ptr_op for const evalOliver Schneider-3/+7
2017-08-01Allow machines to create new memory kindsOliver Schneider-52/+77
2017-08-01Move all intrinsics out of `interpret` and fail CTFE on intrinsic callsOliver Schneider-579/+42
2017-08-01Move a method used everywhere out of `intrinsic.rs`Oliver Schneider-102/+96
2017-08-01Fix doc textOliver Schneider-1/+1
2017-08-01Reduce the chance of accidentally calling functions in CTFEOliver Schneider-68/+49
previously miri had a check for const fn and other cases that CTFE requires. Instead the function call is completely processed inside the machine. This allows CTFE to have full control over what is called and miri to not have useless CTFE-checks in normal mode.
2017-08-01Move the `global_item` function to the `EvalContext`Oliver Schneider-54/+62
2017-08-01Rename `const_eval::Evaluator` to `CompileTimeFunctionEvaluator`Oliver Schneider-3/+3
2017-08-01Move more non-CTFE operations to the MachineOliver Schneider-153/+113
2017-08-01Implement the first machine functionOliver Schneider-795/+179
2017-08-01Split up miri into the librustc_mir and bin partsOliver Schneider-512/+155
2017-07-31fix for latest nightlyRalf Jung-1/+1
2017-07-28remove some commented-out tracingRalf Jung-2/+0
2017-07-28avoid anonymous boolRalf Jung-57/+62
2017-07-27use Cell for memory's aligned flag to avoid infecting interfaces with 'fake' ↵Ralf Jung-77/+91
mutability
2017-07-26make force_allocation handle packed ByValPairRalf Jung-41/+71
2017-07-26disable validation code so that it all compiles against current nightlyRalf Jung-11/+35
2017-07-26whitelist some more methodsRalf Jung-2/+7
2017-07-25move undef-check-on-release-validation out, to catch more casesRalf Jung-8/+16
2017-07-25check mutable UnsafeCell; hack for AtomicBool::get_mutRalf Jung-3/+2
2017-07-25more hacks to make test cases passRalf Jung-23/+59
2017-07-25whitelist things so that more tests passRalf Jung-6/+44
2017-07-25suspend lvalues, not locks. refactor memory locking.Ralf Jung-163/+239
Due to this, we are back down to 88 tests
2017-07-25make LockInfo non-CopyRalf Jung-4/+4
2017-07-25fix checks when releasing write locks (101)Ralf Jung-8/+7
2017-07-25we don't have to set the frame on every stepRalf Jung-3/+0
2017-07-25handle type of function definitions (98)Ralf Jung-4/+7
2017-07-25we need to normalize associated types also deep in the hierarchy (89)Ralf Jung-15/+16
2017-07-25Handle trait objects. Only very superficial checking of the vtable for now. ↵Ralf Jung-1/+15
(88)
2017-07-25nits. also, rustc now emits released for drop. (72)Ralf Jung-1/+1
2017-07-25exempt UnsafeCell from checks (69)Ralf Jung-0/+5
2017-07-25move validation to its own fileRalf Jung-237/+246
2017-07-25we have to permit deallocation memory for which we hold a read lock (67)Ralf Jung-3/+5
2017-07-25fix handling univariant enums (62)Ralf Jung-2/+6
2017-07-25permit locking constant memory (60)Ralf Jung-9/+14
2017-07-25fn ptrs and never were accidentally disabled (55)Ralf Jung-8/+12
2017-07-25fix normalizing associated types. this brings us up to 52 passing tests!Ralf Jung-3/+12
2017-07-25handle array typesRalf Jung-1/+8
2017-07-25Re-do the way locking is done during verificationRalf Jung-64/+145
We now lock at the "leaves" on the types, rather than locking at references. In particular, Validate for sth. of non-reference lvalue will also lock the "outer" memory. Also change the way we release write locks, and some refactoring in the memory.