Commit Graph

1419 Commits

Author SHA1 Message Date
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
Oliver Schneider 7e585ef147 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
2017-08-02 17:57:55 +02:00
Oliver Schneider 29a3c4d28c Produce backtraces for miri internals 2017-08-02 16:59:01 +02:00
Eduard-Mihai Burtescu cf318b1f6f Merge pull request #278 from solson/unions
Process untagged unions
2017-08-02 14:09:04 +03:00