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
Oliver Schneider
4383fc2e27
Adjust travis to the directory changes
2017-08-01 09:56:21 +02:00
Oliver Schneider
f16b9e280b
Move all intrinsics out of interpret
and fail CTFE on intrinsic calls
2017-08-01 09:56:21 +02:00
Oliver Schneider
45b7cfdb6d
Update env_logger in order to share more dependencies
2017-08-01 09:56:21 +02:00
Oliver Schneider
df7c42bcc8
Move a method used everywhere out of intrinsic.rs
2017-08-01 09:56:21 +02:00
Oliver Schneider
e15d374dda
Fix doc text
2017-08-01 09:56:21 +02:00
Oliver Schneider
e5799a6af3
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.
2017-08-01 09:56:21 +02:00
Oliver Schneider
728bb878ac
Move the global_item
function to the EvalContext
2017-08-01 09:56:21 +02:00
Oliver Schneider
960dca172d
Rename const_eval::Evaluator
to CompileTimeFunctionEvaluator
2017-08-01 09:56:21 +02:00