Commit Graph

1485 Commits

Author SHA1 Message Date
Ralf Jung
7e5d971c56 fix warnings; make test suite pass again 2017-08-12 09:45:44 -07:00
Ralf Jung
2be159bacd enable a test that waited for a rustc fix 2017-08-11 09:12:46 -07:00
Oliver Schneider
dca1be68ff Merge pull request #300 from oli-obk/rustc_tests
Get the test suite working inside the rustc test suite
2017-08-11 09:39:36 +02:00
Oliver Schneider
8019deb0a9 Update compiletest.rs 2017-08-10 19:39:32 +02:00
Oliver Schneider
33ff32cac8
Get the test suite working inside the rustc test suite 2017-08-10 18:32:06 +02:00
Oliver Schneider
63c4843503 Merge pull request #299 from RalfJung/rustfmt
rustfmt
2017-08-10 18:27:57 +02:00
Ralf Jung
1326aed02c rustfmt
Except for error.rs, the result there looks rather ugly
2017-08-10 08:48:41 -07:00
Oliver Schneider
85fd3f8e43 Merge pull request #297 from RalfJung/mir-validate
Validation update
2017-08-10 10:18:54 +02:00
Ralf Jung
8e8c9c862c turns out we can enable this sanity check now 2017-08-09 22:32:13 -07:00
Ralf Jung
34685044f9 add a bunch of compile-fail tests for validation 2017-08-09 18:01:10 -07:00
Ralf Jung
5e018b1deb analyzing hashmap.rs uncovered a deeper problem; disable validation there for now 2017-08-09 15:49:47 -07:00
Ralf Jung
7b5f8a36ab try harder to preserve regions when doing inference
This is not complete yet, but it is enough to make unsized-tuple-impls work.
2017-08-09 15:49:47 -07:00
Ralf Jung
bff1ad156e integer-ops needs a rustc patch to work again 2017-08-09 15:49:47 -07:00
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