Commit Graph

177 Commits

Author SHA1 Message Date
Ralf Jung
8de4f34a7f Merge remote-tracking branch 'origin/master' 2019-04-11 22:09:09 +02:00
Aaron Hill
0837d630f7
Some final cleanup 2019-04-09 15:49:34 -04:00
Ralf Jung
06af617b92 fix dumping uninitialized locals 2019-04-08 13:40:11 +02:00
Aaron Hill
73239573c9
Implement non-deterministc mode
Part of #653

This allows us to properly implement getrandom(),
which unlocks the default HashMap type (e.g. HashMap<K, V>)
with RandomState)

This commit adds a new '-Zmiri-seed=<seed>' option. When present,
this option takes a 64-bit hex value, which is used as the seed
to an internal PRNG. This PRNG is used to implement the 'getrandom()'
syscall.

When '-Zmiri-seed' is not passed, 'getrandom()' will be disabled.
2019-04-07 19:26:20 -04:00
kenta7777
d9178b9300 renames EvalContext to InterpretCx 2019-03-30 10:58:28 +09:00
Ralf Jung
687c5d13ea bump Rust; remove stabilized feature 2019-03-18 13:31:29 +01:00
Santiago Pastorino
0bb6ae8f62
Place::Local(x) is now Place::Base(PlaceBase::Local(x)) 2019-03-01 11:27:30 -03:00
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