Commit Graph

1522 Commits

Author SHA1 Message Date
Ralf Jung
668491a892 Work on making validation test pass again
Turns out that tracking write locks by their lifetime is not precise enough,
but for now, we don't have an alternative.  Also, we need to force_allocate
what we acquire or else the memory will not be in the right state.
2017-08-09 15:49:47 -07:00
Ralf Jung
11f0aedc3d add some tests making sure we get the alias checking right 2017-08-09 15:49:47 -07:00
Ralf Jung
de80bcbdbf some tests for RangeMap 2017-08-09 15:49:47 -07:00
Ralf Jung
65a31317a4 Merge pull request #295 from solson/oli-obk-patch-2
Don't rebuild miri even if nothing changed
2017-08-09 12:54:07 -07:00
Oliver Schneider
e71af86259 Merge branch 'master' into oli-obk-patch-2 2017-08-09 21:35:51 +02:00
Ralf Jung
e2de0b2709 Merge pull request #294 from oli-obk/cargo_miri
Make cargo_miri a feature
2017-08-09 11:15:59 -07:00
Oliver Schneider
4ce60abd84 Update build.rs 2017-08-09 18:05:34 +02:00
Oliver Schneider
7e6c497539 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)
2017-08-09 16:12:27 +02:00
Oliver Schneider
a6096fbfba Merge pull request #292 from oli-obk/static_alloc_ids
Prepare for splitting off static alloc ids from local alloc ids
2017-08-09 16:06:14 +02:00
Oliver Schneider
91db25bdef Rename destructure method to into_alloc_id_kind 2017-08-09 14:54:37 +02:00
Oliver Schneider
81f5de7f05 rename memory::Kind to memory::MemoryKind 2017-08-09 14:53:22 +02:00
Oliver Schneider
bba753deac
c_int != usize 2017-08-08 17:09:26 +02:00
Oliver Schneider
9e787fbd82
Dump all allocs when dumping locals 2017-08-08 17:09:26 +02:00
Oliver Schneider
897b563e70
clarify which function is pushing a global 2017-08-08 17:09:26 +02:00
Oliver Schneider
3ce57d1225
Remove unused function 2017-08-08 17:09:26 +02:00
Oliver Schneider
8ab1eeef51
Implement packed statics 2017-08-08 17:09:26 +02:00
Oliver Schneider
181851fc6b
Always allocate for globals
statics are rare and constants are copied anyway.
Reading from a constant should then yield a `ByVal` again if possible.
2017-08-08 17:09:26 +02:00
Oliver Schneider
4ba2b82f31
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.
2017-08-08 17:09:25 +02:00
Ralf Jung
14e8f500af Merge pull request #291 from RalfJung/cross-platform
make xargo/build.sh more cross-platform
2017-08-07 14:45:29 -07:00
Ralf Jung
d0ac2b144d make xargo/build.sh more cross-platform 2017-08-07 13:52:28 -07:00
Oliver Schneider
547f49ce8c Merge pull request #288 from RalfJung/mir-validate
Re-do memory locking
2017-08-07 22:44:20 +02:00
Ralf Jung
847396e412 Re-do memory locking (again). Now with proper support for multiple independent shared borrows of the same mutable reference. 2017-08-07 12:57:32 -07:00
Ralf Jung
a98a68b2cb Merge pull request #289 from RalfJung/rusutp
Update for Rust nightly
2017-08-07 12:57:14 -07:00
Oliver Schneider
e7d8037ebf Rustup 2017-08-07 12:37:15 -07:00
Oliver Schneider
b59c0927f6 Merge pull request #283 from RalfJung/backtrace
Backtrace performance
2017-08-05 16:29:45 +02:00
Ralf Jung
2a1d7666ed Merge pull request #286 from RalfJung/mir-validate
Update MIR validation and test it
2017-08-04 22:02:52 -07:00
Ralf Jung
fb2ed457c6 consolidate making Undef release a NOP in one place 2017-08-04 16:02:16 -07:00
Ralf Jung
ac49e7c650 only collect backtrace when RUST_BACKTRACE is set; resolve symbols lazily when printing 2017-08-04 10:55:35 -07:00
Oliver Schneider
8b449c3ead Merge pull request #284 from oli-obk/no_more_llvm_madness
Rust reorders fields, but miri uses the order from the source files
2017-08-04 14:31:13 +02:00
Oliver Schneider
181bb30d07 Rustc reorders fields, but miri expects them in source order 2017-08-04 13:43:17 +02:00
Ralf Jung
4957031e3c selectively disable validation in compile-fail where appropriate. cargo test now passes :) 2017-08-03 18:13:23 -07:00
Ralf Jung
9458111681 for now, disable validation on optimized tests -- inlining breaks validation 2017-08-03 18:13:23 -07:00
Ralf Jung
58a17026c9 Let -Zmir-emit-validate also control whether miri even acts on the validation commands 2017-08-03 18:13:23 -07:00
Ralf Jung
766a69f656 make test suite MIR validation aware. run-pass passes with and without fullmir, if optimizations are disabled! 2017-08-03 18:13:22 -07:00
Ralf Jung
3754572b0a Release of an Undef local is fine, and a NOP 2017-08-03 18:12:48 -07:00
Ralf Jung
85dc3e563e make execution with full MIR work: need to whitelist Arc drop impl and whatever it calls 2017-08-03 18:12:26 -07:00
Ralf Jung
c2c05014af with the new 'limited validation when there is unsafe', we can significantly shrink our whitelist 2017-08-03 18:12:26 -07:00
Ralf Jung
b3fa42fc0e with Validation MIR around drop being fixed, we can remove the hack working around this 2017-08-03 18:12:24 -07:00
Ralf Jung
dd533a9ec6 Revert "disable validation code so that it all compiles against current nightly"
This reverts commit 791dbaf584.
2017-08-03 18:10:47 -07:00
Oliver Schneider
726b027ba3 Merge pull request #280 from solson/archeology
Produce backtraces for miri internals
2017-08-03 23:02:29 +02:00
Ralf Jung
2cf394955b actually, we can use a plain constant 2017-08-03 12:58:34 -07:00
Ralf Jung
0f43321178 no need to do run-time formatting 2017-08-03 12:39:55 -07:00
Ralf Jung
5aed31812e Merge pull request #281 from RalfJung/unsized
fix size_of_val on unsized tuples
2017-08-03 11:39:30 -07:00
Ralf Jung
de1376f923 Add a build script to inform the binary about its profile, and use that in the test suite 2017-08-03 11:38:00 -07:00
Ralf Jung
5d27b94b04 fix comment 2017-08-03 11:06:25 -07:00
Oliver Schneider
f7bc6ab162 Reuse the Backtrace object instead of rolling our own 2017-08-03 12:37:52 +02:00
Oliver Schneider
163821b500 Remove accidental text paste 2017-08-03 12:37:24 +02:00
Ralf Jung
c533cf8496 fix size_of_val on unsized tuples 2017-08-02 15:29:13 -07:00
Ralf Jung
8deb9387e9 step.rs: improve comment for clarity 2017-08-02 15:10:25 -07:00
Oliver Schneider
40677a5c47 Choose release miri for release tests 2017-08-02 18:28:12 +02:00