]>
git.lizzy.rs Git - rust.git/log
Oliver Schneider [Wed, 2 Aug 2017 14:59:01 +0000 (16:59 +0200)]
Produce backtraces for miri internals
Eduard-Mihai Burtescu [Wed, 2 Aug 2017 11:09:04 +0000 (14:09 +0300)]
Merge pull request #278 from solson/unions
Process untagged unions
Oliver Schneider [Wed, 2 Aug 2017 10:56:07 +0000 (12:56 +0200)]
Add a test for untagged unions
Oliver Schneider [Wed, 2 Aug 2017 07:30:14 +0000 (09:30 +0200)]
Merge pull request #268 from oli-obk/upstream
Split up miri into the librustc_mir and bin parts
Oliver Schneider [Tue, 1 Aug 2017 14:44:49 +0000 (16:44 +0200)]
Build the rustc_tests binary on travis
Oliver Schneider [Mon, 31 Jul 2017 15:14:49 +0000 (17:14 +0200)]
Process untagged unions
Oliver Schneider [Mon, 31 Jul 2017 15:14:27 +0000 (17:14 +0200)]
Add a better error message than `syscall 318 not found`
Oliver Schneider [Mon, 31 Jul 2017 15:14:15 +0000 (17:14 +0200)]
Fix running the rustc test suite
Oliver Schneider [Tue, 1 Aug 2017 09:11:57 +0000 (11:11 +0200)]
Address comments
Oliver Schneider [Mon, 31 Jul 2017 13:56:50 +0000 (15:56 +0200)]
Properly process ptr_op for const eval
Oliver Schneider [Mon, 31 Jul 2017 12:20:22 +0000 (14:20 +0200)]
Remove redundant `members` field
Oliver Schneider [Mon, 31 Jul 2017 11:30:54 +0000 (13:30 +0200)]
Remove leftover unused file
Oliver Schneider [Mon, 31 Jul 2017 11:30:44 +0000 (13:30 +0200)]
Move tls code to its own file
Oliver Schneider [Fri, 28 Jul 2017 14:48:43 +0000 (16:48 +0200)]
Allow machines to create new memory kinds
Oliver Schneider [Fri, 28 Jul 2017 12:16:40 +0000 (14:16 +0200)]
Update Cargo.toml
Oliver Schneider [Fri, 28 Jul 2017 11:49:04 +0000 (13:49 +0200)]
Adjust travis to the directory changes
Oliver Schneider [Fri, 28 Jul 2017 11:08:27 +0000 (13:08 +0200)]
Move all intrinsics out of `interpret` and fail CTFE on intrinsic calls
Oliver Schneider [Fri, 28 Jul 2017 08:55:06 +0000 (10:55 +0200)]
Update env_logger in order to share more dependencies
Oliver Schneider [Fri, 28 Jul 2017 08:16:36 +0000 (10:16 +0200)]
Move a method used everywhere out of `intrinsic.rs`
Oliver Schneider [Fri, 28 Jul 2017 08:16:19 +0000 (10:16 +0200)]
Fix doc text
Oliver Schneider [Fri, 28 Jul 2017 07:52:19 +0000 (09:52 +0200)]
Reduce the chance of accidentally calling functions in CTFE
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.
Oliver Schneider [Thu, 27 Jul 2017 10:02:16 +0000 (12:02 +0200)]
Move the `global_item` function to the `EvalContext`
Oliver Schneider [Tue, 25 Jul 2017 13:22:52 +0000 (15:22 +0200)]
Rename `const_eval::Evaluator` to `CompileTimeFunctionEvaluator`
Oliver Schneider [Tue, 25 Jul 2017 09:32:48 +0000 (11:32 +0200)]
Move more non-CTFE operations to the Machine
Oliver Schneider [Mon, 24 Jul 2017 13:19:32 +0000 (15:19 +0200)]
Split "new" miri crate into modules
Oliver Schneider [Fri, 21 Jul 2017 15:25:30 +0000 (17:25 +0200)]
Implement the first machine function
Oliver Schneider [Fri, 21 Jul 2017 11:39:06 +0000 (13:39 +0200)]
Split up miri into the librustc_mir and bin parts
Ralf Jung [Tue, 1 Aug 2017 00:14:38 +0000 (17:14 -0700)]
Merge pull request #277 from RalfJung/nightly
fix for latest nightly
Ralf Jung [Mon, 31 Jul 2017 23:53:53 +0000 (16:53 -0700)]
fix for latest nightly
Oliver Schneider [Mon, 31 Jul 2017 10:41:29 +0000 (12:41 +0200)]
Merge pull request #274 from RalfJung/packed2
make force_allocation handle packed ByValPair
Ralf Jung [Sat, 29 Jul 2017 02:44:03 +0000 (19:44 -0700)]
remove some commented-out tracing
Ralf Jung [Sat, 29 Jul 2017 02:43:05 +0000 (19:43 -0700)]
avoid anonymous bool
Ralf Jung [Thu, 27 Jul 2017 16:14:04 +0000 (09:14 -0700)]
use Cell for memory's aligned flag to avoid infecting interfaces with 'fake' mutability
Ralf Jung [Thu, 27 Jul 2017 06:43:13 +0000 (23:43 -0700)]
make force_allocation handle packed ByValPair
Oliver Schneider [Wed, 26 Jul 2017 21:37:52 +0000 (23:37 +0200)]
Merge pull request #272 from oli-obk/mir-validate
Mir validate
Ralf Jung [Wed, 26 Jul 2017 18:27:40 +0000 (11:27 -0700)]
disable validation code so that it all compiles against current nightly
Ralf Jung [Wed, 26 Jul 2017 18:10:47 +0000 (11:10 -0700)]
whitelist some more methods
Oliver Schneider [Wed, 26 Jul 2017 05:46:39 +0000 (07:46 +0200)]
Merge pull request #273 from RalfJung/ref
Test that &* of a dangling (and even unaligned) ptr is okay
Ralf Jung [Wed, 26 Jul 2017 01:15:43 +0000 (18:15 -0700)]
move undef-check-on-release-validation out, to catch more cases
Ralf Jung [Wed, 26 Jul 2017 00:10:05 +0000 (17:10 -0700)]
check mutable UnsafeCell; hack for AtomicBool::get_mut
Ralf Jung [Tue, 25 Jul 2017 05:42:05 +0000 (22:42 -0700)]
more hacks to make test cases pass
Ralf Jung [Wed, 26 Jul 2017 00:02:57 +0000 (17:02 -0700)]
Test that &* of a dangling (and even unaligned) ptr is okay
Ralf Jung [Mon, 24 Jul 2017 21:17:58 +0000 (14:17 -0700)]
whitelist things so that more tests pass
Ralf Jung [Thu, 20 Jul 2017 02:45:25 +0000 (19:45 -0700)]
suspend lvalues, not locks. refactor memory locking.
Due to this, we are back down to 88 tests
Ralf Jung [Tue, 18 Jul 2017 23:43:37 +0000 (16:43 -0700)]
make LockInfo non-Copy
Ralf Jung [Fri, 14 Jul 2017 18:06:29 +0000 (11:06 -0700)]
fix checks when releasing write locks (101)
Ralf Jung [Fri, 14 Jul 2017 17:15:55 +0000 (10:15 -0700)]
we don't have to set the frame on every step
Ralf Jung [Fri, 14 Jul 2017 16:05:10 +0000 (09:05 -0700)]
handle type of function definitions (98)
Ralf Jung [Fri, 14 Jul 2017 06:42:18 +0000 (23:42 -0700)]
we need to normalize associated types also deep in the hierarchy (89)
Ralf Jung [Fri, 14 Jul 2017 06:34:08 +0000 (23:34 -0700)]
Handle trait objects. Only very superficial checking of the vtable for now. (88)
Ralf Jung [Fri, 14 Jul 2017 06:02:51 +0000 (23:02 -0700)]
nits. also, rustc now emits released for drop. (72)
Ralf Jung [Fri, 14 Jul 2017 05:00:11 +0000 (22:00 -0700)]
exempt UnsafeCell from checks (69)
Ralf Jung [Fri, 14 Jul 2017 04:57:13 +0000 (21:57 -0700)]
move validation to its own file
Ralf Jung [Fri, 14 Jul 2017 03:50:16 +0000 (20:50 -0700)]
we have to permit deallocation memory for which we hold a read lock (67)
Ralf Jung [Fri, 14 Jul 2017 03:39:49 +0000 (20:39 -0700)]
fix handling univariant enums (62)
Ralf Jung [Fri, 14 Jul 2017 03:33:06 +0000 (20:33 -0700)]
permit locking constant memory (60)
Ralf Jung [Fri, 14 Jul 2017 03:28:00 +0000 (20:28 -0700)]
fn ptrs and never were accidentally disabled (55)
Ralf Jung [Fri, 14 Jul 2017 03:23:11 +0000 (20:23 -0700)]
fix normalizing associated types. this brings us up to 52 passing tests!
Ralf Jung [Fri, 14 Jul 2017 03:22:51 +0000 (20:22 -0700)]
handle array types
Ralf Jung [Fri, 14 Jul 2017 03:08:35 +0000 (20:08 -0700)]
Re-do the way locking is done during verification
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.
Ralf Jung [Fri, 14 Jul 2017 00:38:31 +0000 (17:38 -0700)]
for references, validate alignment and handle ZSTs
Ralf Jung [Fri, 14 Jul 2017 00:25:38 +0000 (17:25 -0700)]
validate TyClosure, TyTuple, TyNever
Ralf Jung [Thu, 13 Jul 2017 23:48:29 +0000 (16:48 -0700)]
various small fixes and tracing
Ralf Jung [Thu, 13 Jul 2017 21:05:45 +0000 (14:05 -0700)]
Also release locks on ReleaseValidation and EndRegion
Ralf Jung [Fri, 23 Jun 2017 04:42:46 +0000 (21:42 -0700)]
fix release_lock_until to no longer remove inactive locks
Ralf Jung [Tue, 20 Jun 2017 06:49:57 +0000 (23:49 -0700)]
avoid downcasting for enum variants without further fields
Ralf Jung [Tue, 20 Jun 2017 06:39:18 +0000 (23:39 -0700)]
validate boxes
Ralf Jung [Tue, 20 Jun 2017 06:27:25 +0000 (23:27 -0700)]
implement checking for ADTs
Ralf Jung [Tue, 20 Jun 2017 04:18:43 +0000 (21:18 -0700)]
implement stub validity check for basic types (bool, int, float); acquire locks for references
Ralf Jung [Mon, 19 Jun 2017 21:56:05 +0000 (14:56 -0700)]
implement acquiring and releasing locks
Ralf Jung [Sat, 17 Jun 2017 00:58:18 +0000 (17:58 -0700)]
add locking data structures and lock checks
This brings back some of the memory range ideas that were deleted with the packed refactoring.
Ralf Jung [Fri, 16 Jun 2017 22:50:59 +0000 (15:50 -0700)]
update for rustc changes: treat new MIR commands as NOP
Oliver Schneider [Mon, 24 Jul 2017 09:31:25 +0000 (11:31 +0200)]
Merge pull request #267 from RalfJung/cast
Fix ptr-int-casts
Oliver Schneider [Mon, 24 Jul 2017 07:56:02 +0000 (09:56 +0200)]
Pass `HasDataLayout` instead of the data layout itself
Oliver Schneider [Sun, 23 Jul 2017 13:00:22 +0000 (15:00 +0200)]
Use rustc traits instead of our own
Ralf Jung [Sat, 22 Jul 2017 18:28:14 +0000 (11:28 -0700)]
move pointer truncation to a common method in memory.rs
Oliver Schneider [Sat, 22 Jul 2017 07:52:47 +0000 (09:52 +0200)]
Merge pull request #269 from oli-obk/cleanups
Remove unused `IntoValTyPair` hack
Ralf Jung [Sat, 22 Jul 2017 03:02:44 +0000 (20:02 -0700)]
fix nits
Ralf Jung [Thu, 20 Jul 2017 21:03:02 +0000 (14:03 -0700)]
refactor casting code to more clearly handle pointers
Ralf Jung [Thu, 20 Jul 2017 20:52:58 +0000 (13:52 -0700)]
fix casting integers to pointers
Oliver Schneider [Fri, 21 Jul 2017 12:59:58 +0000 (14:59 +0200)]
Remove unused `IntoValTyPair` hack
Oliver Schneider [Fri, 21 Jul 2017 10:32:45 +0000 (12:32 +0200)]
Merge pull request #258 from oli-obk/upstream
Prep miri repository for rustc merger
Oliver Schneider [Wed, 19 Jul 2017 15:28:46 +0000 (17:28 +0200)]
Prep miri repository for rustc merger
Oliver Schneider [Fri, 21 Jul 2017 07:46:50 +0000 (09:46 +0200)]
Merge pull request #266 from RalfJung/align
Always test alignment in memory.rs
Ralf Jung [Thu, 20 Jul 2017 20:20:33 +0000 (13:20 -0700)]
always test alignment in memory.rs
Oliver Schneider [Thu, 20 Jul 2017 20:08:02 +0000 (22:08 +0200)]
Merge pull request #265 from oli-obk/optimize_prime
Also test optimized MIR
Oliver Schneider [Thu, 20 Jul 2017 14:05:14 +0000 (16:05 +0200)]
Also test optimized MIR
Oliver Schneider [Thu, 20 Jul 2017 18:00:19 +0000 (20:00 +0200)]
Merge pull request #264 from oli-obk/paths
Reduce the usage of global paths
Oliver Schneider [Thu, 20 Jul 2017 14:40:57 +0000 (16:40 +0200)]
Reduce the usage of global paths
Oliver Schneider [Thu, 20 Jul 2017 14:07:08 +0000 (16:07 +0200)]
Merge pull request #260 from RalfJung/tests
Split up test suite
Eduard-Mihai Burtescu [Thu, 20 Jul 2017 12:13:21 +0000 (15:13 +0300)]
Merge pull request #262 from RalfJung/never
remove ad-hoc 'never' type check in read_lvalue
Oliver Schneider [Thu, 20 Jul 2017 11:11:40 +0000 (13:11 +0200)]
Move rustc tests from tests to a binary, since they are only run manually anyway
Oliver Schneider [Thu, 20 Jul 2017 05:09:52 +0000 (07:09 +0200)]
Merge pull request #259 from RalfJung/ref-validate
No longer check aligment and non-NULLness on `&`
Ralf Jung [Thu, 20 Jul 2017 03:32:51 +0000 (20:32 -0700)]
remove ad-hoc 'never' type check in read_lvalue
Ralf Jung [Thu, 20 Jul 2017 03:26:30 +0000 (20:26 -0700)]
add test for misaligned pointer loads
Ralf Jung [Thu, 20 Jul 2017 03:24:09 +0000 (20:24 -0700)]
fix checking alignment of pointer loads
Ralf Jung [Wed, 19 Jul 2017 20:31:21 +0000 (13:31 -0700)]
fix a warning
Ralf Jung [Wed, 19 Jul 2017 19:52:20 +0000 (12:52 -0700)]
split up the test suite
Ralf Jung [Wed, 19 Jul 2017 18:38:15 +0000 (11:38 -0700)]
enable test code that passes just fine
Ralf Jung [Wed, 19 Jul 2017 18:35:06 +0000 (11:35 -0700)]
Don't pretend that casts to bool are a thing