Ralf Jung
|
a9b03f9411
|
avoid [..]
|
2019-02-27 11:39:59 +01:00 |
|
Alexander Regueiro
|
205490b85c
|
Fixed nits raised in review.
|
2019-02-26 18:37:46 +00:00 |
|
Alexander Regueiro
|
12d3ecbaff
|
Various cosmetic improvements.
|
2019-02-26 18:37:46 +00:00 |
|
Ralf Jung
|
2c3ee678b1
|
Fix comparing fat pointers
|
2019-02-15 09:35:55 +01:00 |
|
Ralf Jung
|
457741d6d2
|
update for new bin_op APIs
|
2019-02-15 09:35:55 +01:00 |
|
Ralf Jung
|
5e468766b7
|
also pass actual arguments to Windows
|
2019-02-09 20:00:40 +01:00 |
|
Ralf Jung
|
0802b3a108
|
implement passing arguments to the interpreted program
|
2019-02-09 20:00:40 +01:00 |
|
Ralf Jung
|
4309539efe
|
cargo miri: refactor how we detect what to interpret and how we run cargo rustc, fix running unit tests
|
2019-02-07 13:00:27 +01:00 |
|
Ralf Jung
|
4f9c14c256
|
deduplicate RangeMap elements in iter_mut
This cuts down execution time of the benchmark in the OP of https://github.com/solson/miri/issues/593 by another 25%, and it cuts max-RSS by 90% (!)
|
2019-01-07 15:10:22 +01:00 |
|
Ralf Jung
|
fced2ac865
|
move env var stuff out of the miri lib
|
2019-01-04 15:37:51 +01:00 |
|
Ralf Jung
|
4f659ed507
|
fix for infallible allocation
|
2018-12-23 14:13:16 +01:00 |
|
Ralf Jung
|
a03d184648
|
Merge branch 'master' into rustup
|
2018-12-20 13:34:24 +01:00 |
|
Ralf Jung
|
750cd442be
|
fix argv null terminator
|
2018-12-19 15:45:23 +01:00 |
|
Ralf Jung
|
af4fb6655e
|
implement GetCommandLineW, GetEnvironmentVariableW, GetConsoleScreenBufferInfo, SetConsoleTextAttribute, GetSystemInfo
|
2018-12-19 15:25:25 +01:00 |
|
Ralf Jung
|
4e0fe62bd9
|
typo
|
2018-12-18 19:45:10 +01:00 |
|
Ralf Jung
|
e8c53e81f8
|
implement macOS functions for argc, argv
|
2018-12-18 19:26:57 +01:00 |
|
Ralf Jung
|
7e9098ff69
|
treat ref-to-raw cast like a reborrow: do a special kind of retag
|
2018-12-12 11:11:20 +01:00 |
|
Ralf Jung
|
6b376dc394
|
get rid of to_bytes hack
|
2018-12-11 14:32:59 +01:00 |
|
Ralf Jung
|
9de605b32f
|
avoid repeating signatures in EvalContext extension traits
|
2018-12-11 14:16:58 +01:00 |
|
Ralf Jung
|
05f2b2ed3d
|
remove support for not having libstd MIR
|
2018-12-10 12:26:20 +01:00 |
|
Ralf Jung
|
61f20761d3
|
Merge branch 'master' into stacked-borrows-2-phase
|
2018-12-03 11:11:32 +01:00 |
|
Ralf Jung
|
6df89de68a
|
we don't need no whitelist
|
2018-12-02 17:18:25 +01:00 |
|
Ralf Jung
|
479eb3bd2b
|
support for basic (non-overlapping) 2-phase borrows
|
2018-12-02 13:30:09 +01:00 |
|
Ralf Jung
|
c10811a82d
|
Merge remote-tracking branch 'origin/master' into rustup
|
2018-11-28 16:15:56 +01:00 |
|
Ralf Jung
|
6ca4fc7125
|
Merge remote-tracking branches 'origin/master' and 'ralf/shrink-whitelist' into memory-data-revived
|
2018-11-28 08:09:58 +01:00 |
|
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
|
f42b708568
|
Merge branch 'master' into oli-obk-patch-1
|
2018-11-27 17:18:16 +01:00 |
|
Oliver Scherer
|
edc2fb5f60
|
Expose some internals for priroda
|
2018-11-27 14:41:53 +01:00 |
|
Ralf Jung
|
215ec38624
|
track call IDs
|
2018-11-27 14:25:20 +01:00 |
|
Ralf Jung
|
e9370d2b74
|
adjust for memory_allocated hook, make RangeMap preallocated with a fixed size
|
2018-11-27 14:25:20 +01:00 |
|
Ralf Jung
|
464dee8edf
|
std::ptr no longer needs whitelisting
|
2018-11-27 09:23:22 +01:00 |
|
Ralf Jung
|
b09dfc14a0
|
there are less places now to keep the flags in sync
|
2018-11-27 08:16:58 +01:00 |
|
Ralf Jung
|
14d58ca8a9
|
fix clippy lint whitelisting
|
2018-11-27 08:16:58 +01:00 |
|
Ralf Jung
|
68ba6cdbaa
|
fix for new Align type
|
2018-11-23 09:46:51 +01:00 |
|
Ralf Jung
|
984c3368a9
|
remove stabilized feature flag
|
2018-11-21 13:41:57 +01:00 |
|
Ralf Jung
|
cfa6397ad0
|
UnsafeCell no longer needs to be on the whitelist
|
2018-11-20 08:50:08 +01:00 |
|
Ralf Jung
|
d619049b2d
|
Merge branch 'miri-backtrace' into mut-visitor
|
2018-11-20 08:29:51 +01:00 |
|
Ralf Jung
|
880229d4c3
|
escape-on-cast, now ptr-deref does not change the tag at all, ever
|
2018-11-17 10:05:40 +01:00 |
|
Ralf Jung
|
a87e952102
|
Separate deref and access into different operations; add special exception for creating raw references
|
2018-11-15 09:35:40 +01:00 |
|
Ralf Jung
|
09919c2b59
|
Retag is the only operation that generates new tags
|
2018-11-15 09:35:40 +01:00 |
|
Ralf Jung
|
1e51a382ed
|
update for changed FrameInfo, do not print span for all frames
|
2018-11-15 09:14:03 +01:00 |
|
Ralf Jung
|
f5bd85d009
|
update for memory_deallocated moving to AllocExtra
|
2018-11-14 16:03:38 +01:00 |
|
Ralf Jung
|
e7aa5c68ff
|
Update rustc for AllocationExtra trait
Based on https://github.com/solson/miri/pull/493 but there were more conflicts
than code so I opted not to cherry-pick.
|
2018-11-12 08:54:12 +01:00 |
|
Ralf Jung
|
74635a57e2
|
re-do large parts of stacked borrows, now with proper support for partiall frozen data
|
2018-11-08 08:29:34 +01:00 |
|
Ralf Jung
|
f6d6470bc4
|
move to 2018 edition
I want NLL :D
|
2018-11-05 15:45:27 +01:00 |
|
Ralf Jung
|
a8af5ae139
|
fix for latest nightly
|
2018-11-04 10:30:15 +01:00 |
|
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
|
8ac5d988e2
|
typo
Co-Authored-By: RalfJung <post@ralfj.de>
|
2018-11-03 11:39:50 +01:00 |
|
Ralf Jung
|
8da2c9e34e
|
fix adding default arguments
|
2018-11-03 11:03:53 +01:00 |
|
Ralf Jung
|
dc859f345d
|
Merge remote-tracking branch 'origin/master' into rustup
|
2018-11-02 14:32:56 +01:00 |
|
Ralf Jung
|
a68779fd16
|
use crate:: import to make edition port easier later
|
2018-11-01 09:00:09 +01:00 |
|
Ralf Jung
|
81534496dc
|
rename RefKind to UsageKind, because it not only used for references now
|
2018-11-01 08:58:03 +01:00 |
|
Ralf Jung
|
85f821d7e9
|
unify checks on memory access and reborrowing, and update for Machine trait change
|
2018-11-01 08:58:03 +01:00 |
|
Ralf Jung
|
bba3c49e84
|
basic retagging (no fn_entry); this also makes us catch more bugs even with optimizations and we can finally stop mutating the state on deref
|
2018-11-01 08:58:03 +01:00 |
|
Ralf Jung
|
7ac0e79ad5
|
stub Retag hook; fix tests for removal of -Zmir-emit-validate
|
2018-11-01 08:58:03 +01:00 |
|
Ralf Jung
|
fba55ba2a9
|
make the -Z flags we use more consistent
|
2018-11-01 08:58:03 +01:00 |
|
Ralf Jung
|
27b1f47b0a
|
use crate:: where appropriate
|
2018-11-01 08:57:22 +01:00 |
|
Ralf Jung
|
7a6a68731e
|
remove unused extern crate
|
2018-10-31 10:19:20 +01:00 |
|
Ralf Jung
|
cd256448d5
|
dumping locals with MIRI_BACKTRACE=1 is feasible now
|
2018-10-31 10:16:42 +01:00 |
|
Ralf Jung
|
eb153810e3
|
Use MIRI_ env vars to set RUST_ ones
This means we can do `MIRI_LOG=debug cargo run` and get something reasonable,
even if cargo has to build some dependencies first.
|
2018-10-31 10:09:55 +01:00 |
|
Ralf Jung
|
559f63a2b6
|
Merge remote-tracking branch 'origin/master' into rustup
|
2018-10-30 08:40:30 +01:00 |
|
Ralf Jung
|
4ccdcdcace
|
rustup
|
2018-10-29 09:15:15 +01:00 |
|
Ralf Jung
|
a34b9c7b70
|
make some things public for the benefit of priroda
|
2018-10-24 11:39:31 +02:00 |
|
Ralf Jung
|
26bb4f79dc
|
get rid of implicit Raw at bottom of stack; locals get a uniq at their bottom
|
2018-10-22 18:17:37 +02:00 |
|
Ralf Jung
|
01828fde53
|
respect memory's privacy
|
2018-10-22 16:48:10 +02:00 |
|
Ralf Jung
|
dd1558f337
|
rustc update and be very selective about what we accept on a deref
|
2018-10-22 16:48:09 +02:00 |
|
Ralf Jung
|
1ae1b9bfea
|
adapt to rustc API changes and factor out computing the tag for ty+mutbl
|
2018-10-22 16:45:03 +02:00 |
|
Ralf Jung
|
957d18c343
|
Merge remote-tracking branch 'origin/master' into rustup
|
2018-10-22 08:41:01 +02:00 |
|
Ralf Jung
|
0b6e349417
|
automalically use start-fn if we have all the MIR
|
2018-10-19 10:07:17 +02:00 |
|
Ralf Jung
|
186e42d088
|
move resolve_path to helpers module
|
2018-10-19 09:54:41 +02:00 |
|
Ralf Jung
|
b259512c57
|
bump for ENABLE_PTR_TRACKING_HOOKS, and remove some dead code
|
2018-10-17 17:36:07 +02:00 |
|
Ralf Jung
|
d4b78b36ab
|
stacked borrows: enforcement at memory accesses
|
2018-10-17 15:15:53 +02:00 |
|
Ralf Jung
|
66b4bb7cf2
|
stacked borrows: track refs and derefs
|
2018-10-16 18:35:27 +02:00 |
|
Ralf Jung
|
348f782085
|
add env var emulation test, and fix it complaining about leaks
|
2018-10-16 18:35:27 +02:00 |
|
Ralf Jung
|
b84f7e2029
|
add Borrow tag to pointers; remove old locking code
|
2018-10-16 18:35:27 +02:00 |
|
Ralf Jung
|
9a1dd865c1
|
whitelist Windows Mutex
|
2018-10-14 11:06:36 +02:00 |
|
Ralf Jung
|
62b819ba18
|
whitelist std::ptr::read
|
2018-10-12 10:40:44 +02:00 |
|
Ralf Jung
|
e4dfb7013b
|
enable validation per default, but add a flag to disable it and use that for some run-pass tests
compile-fail does not do validation yet
|
2018-10-11 11:24:22 +02:00 |
|
Ralf Jung
|
d94d32e937
|
enforce_validity became a function
|
2018-10-11 09:02:28 +02:00 |
|
Ralf Jung
|
ce5b183e8b
|
update for new return place handling
|
2018-10-11 08:59:39 +02:00 |
|
Ralf Jung
|
8ea8cd2919
|
update for ptr provenance
|
2018-10-11 08:42:26 +02:00 |
|
Ralf Jung
|
146f5d8d10
|
rustup; test for return type mismatch
|
2018-10-02 21:16:55 +02:00 |
|
Ralf Jung
|
8d7cdbb853
|
rustup
|
2018-09-20 12:24:55 +02:00 |
|
Ralf Jung
|
ea4232cf22
|
Move TLS data to machine data
There is no good reason to let the machine store stuff in the machine *and* in memory. I plan to get rid of the latter.
|
2018-09-20 01:00:59 +02:00 |
|
Ralf Jung
|
b488b51b66
|
bump Rust
|
2018-09-15 10:34:45 +02:00 |
|
Ralf Jung
|
d889da43f8
|
move MemoryData to memory.rs; remove all the Hashing stuff
|
2018-09-09 11:01:15 +02:00 |
|
Ralf Jung
|
c44267960f
|
ptr equality: only defined for ptrs in the same allocation and live ptrs
|
2018-08-30 10:46:09 +02:00 |
|
Ralf Jung
|
904923fa7a
|
move some more helpers to rustc
|
2018-08-30 10:42:18 +02:00 |
|
Ralf Jung
|
2a244dcb48
|
no TLS dtor and no leak checks on macOS
|
2018-08-30 09:41:57 +02:00 |
|
Ralf Jung
|
0db1c6a1b0
|
ignore memory leaks on Windows
|
2018-08-30 08:57:33 +02:00 |
|
Ralf Jung
|
1b41b71827
|
update for MUT_STATIC_KIND
|
2018-08-26 13:19:03 +02:00 |
|
Ralf Jung
|
1ba6140891
|
rustup
|
2018-08-25 21:22:06 +02:00 |
|
Ralf Jung
|
bb5079b2bf
|
rustup
|
2018-08-24 19:49:57 +02:00 |
|
Ralf Jung
|
42bce6cb36
|
rustup
|
2018-08-24 17:44:04 +02:00 |
|
Ralf Jung
|
2ee4aac62f
|
fix leaks with -Zmiri-start-fn
|
2018-08-24 16:45:08 +02:00 |
|
Ralf Jung
|
1a4ad2bb9f
|
update for miri engine: new function handling, new static handling, fixed leaks
|
2018-08-24 16:45:08 +02:00 |
|
Ralf Jung
|
1a23b3c313
|
rustup
|
2018-08-20 16:27:23 +02:00 |
|
Ralf Jung
|
259cc6e3dc
|
rustup for big refactor; kill most of validation
|
2018-08-16 10:30:43 +02:00 |
|
Ralf Jung
|
f0070fca1e
|
remove unnecessary features
|
2018-08-14 09:35:31 +02:00 |
|
Oliver Schneider
|
be91aea0fa
|
Rustup
|
2018-08-07 15:22:11 +02:00 |
|
Ralf Jung
|
3783cebe80
|
remove dependency on lazy_static and regex by getting rid of some dead validation hack
|
2018-08-02 12:16:09 +02:00 |
|
Ralf Jung
|
e1a3b9606e
|
TLS on Windows
|
2018-07-16 11:42:46 +02:00 |
|