Commit Graph

1548 Commits

Author SHA1 Message Date
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