]>
git.lizzy.rs Git - rust.git/log
Oliver Schneider [Wed, 9 Aug 2017 19:35:51 +0000 (21:35 +0200)]
Merge branch 'master' into oli-obk-patch-2
Ralf Jung [Wed, 9 Aug 2017 18:15:59 +0000 (11:15 -0700)]
Merge pull request #294 from oli-obk/cargo_miri
Make cargo_miri a feature
Oliver Schneider [Wed, 9 Aug 2017 16:05:34 +0000 (18:05 +0200)]
Update build.rs
Oliver Schneider [Wed, 9 Aug 2017 14:12:27 +0000 (16:12 +0200)]
Make cargo_miri a feature
1. Speeds up the common compilation path (no serde in the dependency tree)
2. Stage 1 rustc is enough (no serde -> no custom derive)
Oliver Schneider [Wed, 9 Aug 2017 14:06:14 +0000 (16:06 +0200)]
Merge pull request #292 from oli-obk/static_alloc_ids
Prepare for splitting off static alloc ids from local alloc ids
Oliver Schneider [Wed, 9 Aug 2017 12:54:37 +0000 (14:54 +0200)]
Rename `destructure` method to `into_alloc_id_kind`
Oliver Schneider [Wed, 9 Aug 2017 12:53:22 +0000 (14:53 +0200)]
rename `memory::Kind` to `memory::MemoryKind`
Oliver Schneider [Tue, 8 Aug 2017 15:02:01 +0000 (17:02 +0200)]
c_int != usize
Oliver Schneider [Tue, 8 Aug 2017 14:29:47 +0000 (16:29 +0200)]
Dump all allocs when dumping locals
Oliver Schneider [Tue, 8 Aug 2017 14:19:11 +0000 (16:19 +0200)]
clarify which function is pushing a global
Oliver Schneider [Tue, 8 Aug 2017 14:18:59 +0000 (16:18 +0200)]
Remove unused function
Oliver Schneider [Tue, 8 Aug 2017 13:53:07 +0000 (15:53 +0200)]
Implement packed statics
Oliver Schneider [Tue, 8 Aug 2017 12:22:11 +0000 (14:22 +0200)]
Always allocate for globals
statics are rare and constants are copied anyway.
Reading from a constant should then yield a `ByVal` again if possible.
Oliver Schneider [Tue, 8 Aug 2017 11:06:14 +0000 (13:06 +0200)]
Split the alloc id address space into functions and normal allocs
instead of interleaving them as before.
The next step is to also separate out static memory into its own
address space.
Ralf Jung [Mon, 7 Aug 2017 21:45:29 +0000 (14:45 -0700)]
Merge pull request #291 from RalfJung/cross-platform
make xargo/build.sh more cross-platform
Ralf Jung [Mon, 7 Aug 2017 20:52:28 +0000 (13:52 -0700)]
make xargo/build.sh more cross-platform
Oliver Schneider [Mon, 7 Aug 2017 20:44:21 +0000 (22:44 +0200)]
Merge pull request #288 from RalfJung/mir-validate
Re-do memory locking
Ralf Jung [Mon, 7 Aug 2017 19:34:33 +0000 (12:34 -0700)]
Re-do memory locking (again). Now with proper support for multiple independent shared borrows of the same mutable reference.
Ralf Jung [Mon, 7 Aug 2017 19:57:14 +0000 (12:57 -0700)]
Merge pull request #289 from RalfJung/rusutp
Update for Rust nightly
Oliver Schneider [Mon, 7 Aug 2017 11:40:10 +0000 (13:40 +0200)]
Rustup
Oliver Schneider [Sat, 5 Aug 2017 14:29:45 +0000 (16:29 +0200)]
Merge pull request #283 from RalfJung/backtrace
Backtrace performance
Ralf Jung [Sat, 5 Aug 2017 05:02:52 +0000 (22:02 -0700)]
Merge pull request #286 from RalfJung/mir-validate
Update MIR validation and test it
Ralf Jung [Fri, 4 Aug 2017 23:01:46 +0000 (16:01 -0700)]
consolidate making Undef release a NOP in one place
Ralf Jung [Fri, 4 Aug 2017 17:55:35 +0000 (10:55 -0700)]
only collect backtrace when RUST_BACKTRACE is set; resolve symbols lazily when printing
Oliver Schneider [Fri, 4 Aug 2017 12:31:13 +0000 (14:31 +0200)]
Merge pull request #284 from oli-obk/no_more_llvm_madness
Rust reorders fields, but miri uses the order from the source files
Oliver Schneider [Fri, 4 Aug 2017 10:46:07 +0000 (12:46 +0200)]
Rustc reorders fields, but miri expects them in source order
Ralf Jung [Wed, 2 Aug 2017 22:35:44 +0000 (15:35 -0700)]
selectively disable validation in compile-fail where appropriate. cargo test now passes :)
Ralf Jung [Wed, 2 Aug 2017 18:31:53 +0000 (11:31 -0700)]
for now, disable validation on optimized tests -- inlining breaks validation
Ralf Jung [Wed, 2 Aug 2017 06:40:03 +0000 (23:40 -0700)]
Let -Zmir-emit-validate also control whether miri even acts on the validation commands
Ralf Jung [Wed, 2 Aug 2017 06:01:16 +0000 (23:01 -0700)]
make test suite MIR validation aware. run-pass passes with and without fullmir, if optimizations are disabled!
Ralf Jung [Wed, 2 Aug 2017 06:00:23 +0000 (23:00 -0700)]
Release of an Undef local is fine, and a NOP
Ralf Jung [Wed, 2 Aug 2017 03:41:17 +0000 (20:41 -0700)]
make execution with full MIR work: need to whitelist Arc drop impl and whatever it calls
Ralf Jung [Wed, 2 Aug 2017 02:48:44 +0000 (19:48 -0700)]
with the new 'limited validation when there is unsafe', we can significantly shrink our whitelist
Ralf Jung [Thu, 27 Jul 2017 05:02:52 +0000 (22:02 -0700)]
with Validation MIR around drop being fixed, we can remove the hack working around this
Ralf Jung [Wed, 26 Jul 2017 21:41:08 +0000 (14:41 -0700)]
Revert "disable validation code so that it all compiles against current nightly"
This reverts commit
791dbaf58402ef87c16485be8d8ee37b5aa1dda3 .
Oliver Schneider [Thu, 3 Aug 2017 21:02:29 +0000 (23:02 +0200)]
Merge pull request #280 from solson/archeology
Produce backtraces for miri internals
Ralf Jung [Thu, 3 Aug 2017 19:58:24 +0000 (12:58 -0700)]
actually, we can use a plain constant
Ralf Jung [Thu, 3 Aug 2017 19:39:55 +0000 (12:39 -0700)]
no need to do run-time formatting
Ralf Jung [Thu, 3 Aug 2017 18:39:30 +0000 (11:39 -0700)]
Merge pull request #281 from RalfJung/unsized
fix size_of_val on unsized tuples
Ralf Jung [Thu, 3 Aug 2017 18:36:58 +0000 (11:36 -0700)]
Add a build script to inform the binary about its profile, and use that in the test suite
Ralf Jung [Thu, 3 Aug 2017 18:06:25 +0000 (11:06 -0700)]
fix comment
Oliver Schneider [Thu, 3 Aug 2017 10:37:52 +0000 (12:37 +0200)]
Reuse the `Backtrace` object instead of rolling our own
Oliver Schneider [Thu, 3 Aug 2017 10:37:24 +0000 (12:37 +0200)]
Remove accidental text paste
Ralf Jung [Wed, 2 Aug 2017 22:29:13 +0000 (15:29 -0700)]
fix size_of_val on unsized tuples
Ralf Jung [Wed, 2 Aug 2017 06:51:23 +0000 (23:51 -0700)]
step.rs: improve comment for clarity
Oliver Schneider [Wed, 2 Aug 2017 16:28:12 +0000 (18:28 +0200)]
Choose release miri for release tests
Oliver Schneider [Wed, 2 Aug 2017 15:57:55 +0000 (17:57 +0200)]
Speed up travis by using release mode
before we built in debug mode for testing,
but then installed miri, which builds in release mode.
So we built in release mode anyway but tested slowly in debug mode
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