Commit Graph

63 Commits

Author SHA1 Message Date
Samuel E. Moelius III
8d797fb154 Update compiletest_rs dependency 2021-09-01 08:53:51 -04:00
Aaron Hill
16f469280e
Address review comments 2021-05-29 17:10: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
Ralf Jung
31bd77c7d8 bump miri dependencies 2021-04-04 11:48:20 +02:00
Ralf Jung
0f7c01527a 'cargo update' all the things 2021-04-04 11:11:19 +02:00
Ralf Jung
46162ecb69 rustup + cargo update 2020-12-17 12:53:10 +01:00
JCTyBlaidd
89814f1b3f Initial data-race detector,
passes all current tests but additional tests are required
2020-11-02 02:57:05 +00:00
Ralf Jung
6be8761e47 update for major version bumps 2020-09-18 12:17:09 +02:00
Ralf Jung
e9e67c97cc cargo update main crates 2020-09-17 20:08:18 +02:00
Jubilee Young
f3747b635e Update lockfile 2020-08-20 16:48:35 -07:00
Ralf Jung
35964b10b0 no workspace as that is incompatible with the rustc submodule 2020-05-28 08:53:44 +02:00
Ralf Jung
7fcf92dfea re-add some fake dependencies to avoid rebuilds 2020-05-28 08:53:44 +02:00
Ralf Jung
0790f75ae4 make cargo-miri a separate crate in a workspace 2020-05-28 08:53:44 +02:00
Ralf Jung
93027da5ed bump compiletest 2020-04-10 14:57:22 +02:00
Ralf Jung
280394d366 cargo update 2020-04-10 10:28:45 +02:00
Ralf Jung
5c4cc2e3e0 bump dependencies 2020-03-08 16:29:57 +01:00
Ralf Jung
faf7bf538d update lockfile 2020-02-24 14:45:35 +01:00
Ralf Jung
a555e1ec25 cargo update 2020-02-23 22:44:16 +01:00
Ralf Jung
87fb5db526 avoid recompiling Miri on install 2019-12-06 08:27:15 +01:00
Ralf Jung
e2fd9d83e2 cargo update 2019-11-26 14:28:56 +01:00
Ralf Jung
52b18b44f9 bump compiletest; remove unused feature 2019-11-18 15:10:17 +01:00
Ralf Jung
08fe5ee78c try the stable feature of compiletest 2019-11-16 09:08:30 +01:00
Mateusz Mikuła
b40351c53a Bump dependencies 2019-10-27 23:01:01 +01:00
bors
1bf282ff09 Auto merge of #1020 - RalfJung:compiletest, r=RalfJung
compiletest-nightly should work again
2019-10-24 08:53:52 +00:00
Ralf Jung
1b96a822de compiletest-nightly should work again 2019-10-24 10:31:08 +02:00
Ralf Jung
cf9340113e rustup: more flexible write_bytes avoids allocations and removes itertools dependency 2019-10-24 10:15:30 +02:00
Ralf Jung
6fb5e124d9 use compiletest_rs for stable compiler as nightly is broken 2019-10-23 10:31:08 +02:00
Ralf Jung
47eb8549ee rustup + cargo update 2019-10-23 10:25:22 +02:00
Ralf Jung
2690f5948a rustup: fix for write_bytes and new union rules 2019-10-22 10:13:11 +02:00
Ralf Jung
d8f06523f2 bump compiletest 2019-10-14 13:17:30 +02:00
Ralf Jung
d5003bc07d add lockfile 2019-10-14 09:38:12 +02:00
Oliver Schneider
6dbfe23c4d Rustup 2017-11-02 11:15:50 +01:00
Oliver Schneider
8d546e8b9a
Use rustc's logging libraries in order to be able to log rustc::mir::interpret 2017-10-06 17:14:12 +02:00
Oliver Schneider
52599adf27
Miri core has moved to rustc::mir::interpret 2017-10-06 17:13:59 +02:00
Ralf Jung
383153f887 update compiletest 2017-09-19 13:27:13 +02:00
Ralf Jung
8dff161bcb update compiletest; we do not need tempdir any more 2017-09-04 13:02:55 +02:00
Ralf Jung
9a273e0192 update backtrace to newly released version 2017-09-04 12:37:42 +02:00
Oliver Schneider
f817f1c660
Get rid of env var race condition once and for all 2017-08-28 17:32:21 +02:00
Ralf Jung
df20c0684c use tempdir to create a dedicated directory for each test 2017-08-26 13:12:55 +02:00
Ralf Jung
1ee718a5c9 update compiletest. maybe that helps with the spurious failures. 2017-08-26 12:51:49 +02: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
29a3c4d28c Produce backtraces for miri internals 2017-08-02 16:59:01 +02:00
Oliver Schneider
45b7cfdb6d
Update env_logger in order to share more dependencies 2017-08-01 09:56:21 +02:00
Oliver Schneider
11e30a65e6
Split up miri into the librustc_mir and bin parts 2017-08-01 09:56:21 +02:00
Ralf Jung
e2d80d0423 whitelist things so that more tests pass 2017-07-25 13:24:23 -07:00
David Renshaw
7008646bfe update compiletest dependency 2017-06-30 12:06:49 -04:00
David Renshaw
a28c7990ea update compiletest and remove obsolete comment 2017-06-20 07:08:29 +09:00
Oliver Schneider
9e44509e51 Update dependencies 2017-05-09 16:47:04 +02:00
Eduard-Mihai Burtescu
f95cc529fc Update byteorder commit hash in Cargo.lock. 2017-04-20 09:46:43 +03:00
Oliver Schneider
93a75f9542 get rid of serde rc3 dependencies through cargo update 2017-01-30 09:45:21 +01:00