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
Oliver Schneider
f8c61da070
Add a test for untagged unions
2017-08-02 12:56:07 +02:00
Oliver Schneider
7700bd0c54
Merge pull request #268 from oli-obk/upstream
...
Split up miri into the librustc_mir and bin parts
2017-08-02 09:30:14 +02:00
Oliver Schneider
f19d77e0f1
Build the rustc_tests binary on travis
2017-08-01 16:44:49 +02:00
Oliver Schneider
79f38bf2cd
Process untagged unions
2017-08-01 16:12:29 +02:00
Oliver Schneider
393216d410
Add a better error message than syscall 318 not found
2017-08-01 16:12:29 +02:00
Oliver Schneider
8b81f5430f
Fix running the rustc test suite
2017-08-01 16:12:29 +02:00
Oliver Schneider
d05784f23c
Address comments
2017-08-01 11:11:57 +02:00
Oliver Schneider
8de85808ec
Properly process ptr_op for const eval
2017-08-01 09:56:21 +02:00
Oliver Schneider
3d82b66c6c
Remove redundant members
field
2017-08-01 09:56:21 +02:00
Oliver Schneider
54ecdf16b3
Remove leftover unused file
2017-08-01 09:56:21 +02:00
Oliver Schneider
23d351d6d4
Move tls code to its own file
2017-08-01 09:56:21 +02:00
Oliver Schneider
adfea61665
Allow machines to create new memory kinds
2017-08-01 09:56:21 +02:00
Oliver Schneider
7ed706d09c
Update Cargo.toml
2017-08-01 09:56:21 +02:00