Aaron Hill
16f469280e
Address review comments
2021-05-29 17:10:54 -05:00
Aaron Hill
2166eaed90
Use active thread id
2021-05-29 17:01:54 -05:00
Aaron Hill
7e9da8d30e
Add measureme
integration for profiling the interpreted program
...
This PR uses the `measureme` crate to profile the call stack of the
program being interpreted by Miri. This is accomplished by starting a
measureme 'event' when we enter a function call, and ending the event
when we exit the call. The `measureme` tooling can be used to produce a
call stack from the generated profile data.
Limitations:
* We currently record every single entry/exit. This might generate very
large profile outputs for programs with a large number of function
calls. In follow-up work, we might want to explore sampling (e.g. only
recording every N function calls).
* This does not integrate very well with Miri's concurrency support.
Each event we record starts when we push a frame, and ends when we pop
a frame. As a result, switching between virtual threads will cause
events from different threads to be interleaved. Additionally, the
recorded for a particular frame will include all of the work Miri does
before that frame completes, including executing another thread.
The `measureme` integration is off by default, and must be enabled via
`-Zmiri-measureme=<output_name>`
2021-05-29 17:01:52 -05:00
bors
4fa9363ebb
Auto merge of #1812 - hyd-dev:85546, r=RalfJung
...
Fix toolstate for rust-lang/rust#85546
cc rust-lang/rust#85780
2021-05-28 20:11:11 +00:00
hyd-dev
9b2d42587f
unwind
is no longer Option<BasicBlock>
2021-05-28 22:08:51 +08:00
bors
76f5855842
Auto merge of #1817 - hyd-dev:doctest, r=RalfJung
...
Skip doctests of `proc-macro` crates
Fixes #1813 .
Verified that the newly added tests failed without the `cargo-miri` change and pass with normal `cargo test`.
2021-05-27 21:44:16 +00:00
hyd-dev
d1de0843ed
Change preexisting "doc-test" to "doctest"
2021-05-27 19:48:07 +08:00
hyd-dev
43db2aa5a9
Change "Doc-tests" in the comment to "Doctests"
2021-05-27 19:45:10 +08:00
hyd-dev
ffff7ff8a6
Use compile_error!
instead of use num_cpus
2021-05-27 19:22:42 +08:00
hyd-dev
773eb1e970
"doc-tests" -> "doctests"
2021-05-27 18:45:21 +08:00
bors
0f03a705a2
Auto merge of #1819 - scottmcm:patch-1, r=RalfJung
...
Add `copy_within` to the SB trophy case
2021-05-27 07:21:49 +00:00
scottmcm
97b2824ada
Add copy_within
to the SB trophy case
2021-05-27 00:14:13 +00:00
hyd-dev
f42a6d1026
Skip doctests of proc-macro
crates
2021-05-27 07:03:05 +08:00
bors
62046bf8b4
Auto merge of #1814 - RalfJung:rustup, r=RalfJung
...
avoid unnecessary RefCell calls
Blocked on https://github.com/rust-lang/rust/pull/85599
2021-05-23 16:08:53 +00:00
Ralf Jung
a03f700fc9
rustup
2021-05-23 18:05:50 +02:00
Ralf Jung
393ce98b32
fix a Stacked Borrows test whose output changed
2021-05-23 18:04:13 +02:00
Ralf Jung
c60efa0c69
allocate backtrace strings mutably
2021-05-23 18:04:13 +02:00
Ralf Jung
9e0e9386a6
better approach to skip ZST reborrows
2021-05-23 18:04:13 +02:00
Ralf Jung
e09c571eec
avoid some borrow_mut calls in data_race
2021-05-23 18:04:13 +02:00
Ralf Jung
543777acbd
avoid unnecessary RefCell calls in Stacked Borrows
2021-05-23 18:04:13 +02:00
bors
cf7e4b9df6
Auto merge of #1815 - RalfJung:rustup2, r=RalfJung
...
rustup
Cc https://github.com/rust-lang/rust/issues/85591
2021-05-23 10:40:13 +00:00
Ralf Jung
d77d95d0a8
rustup
2021-05-23 12:39:27 +02:00
bors
10c495643a
Auto merge of #1811 - RalfJung:less-rc, r=RalfJung
...
get rid of some `Rc`
Now that the memory access hooks get references to `MemoryExtra`, we can avoid refcounting for the global state of Stacked Borrows and the data race detector.
2021-05-22 12:56:51 +00:00
Ralf Jung
c73f8b1097
fmt
2021-05-22 14:55:33 +02:00
Ralf Jung
1bbd6e609c
get rid of Rc in data_race
2021-05-22 14:47:14 +02:00
Ralf Jung
ca7283d746
get rid of Rc in Stacked Borrows
2021-05-22 13:24:08 +02:00
bors
3a24958128
Auto merge of #1809 - RalfJung:rustup, r=RalfJung
...
rustup
2021-05-20 17:54:56 +00:00
Ralf Jung
c151af5cf5
rustup
2021-05-20 13:32:18 +02:00
bors
b0e5d5f1ef
Auto merge of #1804 - RalfJung:ptrless-allocs, r=RalfJung
...
update for Memory API changes
The Miri side of https://github.com/rust-lang/rust/pull/85376 .
2021-05-19 14:34:39 +00:00
Ralf Jung
aba96b82b4
fix write_os_str_to_wide_str
2021-05-19 16:34:14 +02:00
Ralf Jung
e4a27150cb
fmt
2021-05-19 16:10:28 +02:00
Ralf Jung
d1e5eeebdf
rustup
2021-05-19 15:58:05 +02:00
Ralf Jung
dd404cc92e
avoid importing C functions in alloc_write_race test
2021-05-19 15:27:58 +02:00
Ralf Jung
801a1744cd
update for Memory API changes
2021-05-19 15:27:58 +02:00
bors
cda0b07121
Auto merge of #1808 - RalfJung:fmt, r=oli-obk
...
add (bors-ignored) formatting check job
2021-05-19 12:19:24 +00:00
Ralf Jung
74ae89e6ca
over 'default' instead of 'override' (consistent with main build job)
2021-05-19 10:58:29 +02:00
Ralf Jung
6f3ad27416
fmt
2021-05-19 10:50:51 +02:00
Ralf Jung
952066f545
add (bors-ignored) formatting check job
2021-05-19 10:47:17 +02:00
bors
25a43c7783
Auto merge of #1806 - RalfJung:rustup, r=RalfJung
...
rustup
`@bors` r+
2021-05-17 22:27:31 +00:00
Ralf Jung
1bfd9ac56c
rustup
2021-05-18 00:11:05 +02:00
bors
0d87afe5a5
Auto merge of #1805 - RalfJung:c_str, r=RalfJung
...
stop relying on c_str/wide_str helpers in rustc
This is a part of https://github.com/rust-lang/miri/pull/1804 that we can already do.
2021-05-17 12:33:51 +00:00
Ralf Jung
4f171d7fe3
stop relying on c_str/wide_str helpers in rustc
2021-05-17 14:31:59 +02:00
bors
516e905cab
Auto merge of #1803 - RalfJung:fmt, r=RalfJung
...
fix rustfmt fallout
2021-05-17 08:59:20 +00:00
Ralf Jung
78f74c69e3
fix rustfmt fallout
2021-05-17 10:57:21 +02:00
bors
55664bc8ac
Auto merge of #1802 - RalfJung:rustup, r=RalfJung
...
rustup
Cc https://github.com/rust-lang/rust/issues/85397
2021-05-17 07:37:04 +00:00
Ralf Jung
cf3376e541
rustup
2021-05-17 09:34:39 +02:00
bors
c6fefa5f5a
Auto merge of #1801 - RalfJung:rustfmt, r=oli-obk
...
rustfmt
I liberally applied `rustfmt::skip` where I really did not like the rustfmt formatting.
2021-05-16 23:30:29 +00:00
Ralf Jung
d6fdfaa047
hand-held formatting for remaining files
2021-05-16 11:51:39 +02:00
Ralf Jung
4e231bab5e
format much of Miri
2021-05-16 11:48:28 +02:00
Ralf Jung
7b3566096c
configure rustfmt; fmt cargo-miri
2021-05-16 11:11:35 +02:00