You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, ./miri run and cargo miri both have an independent implementation of "many-seeds" mode. The one in ./miri is concurrent, the one in cargo miri is not.
I wonder if we could avoid all that duplication by having this implemented directly in the driver instead, via something like -Zmiri-many-seeds? I can imagine two possible implementations:
Inside a single rustc driver session, we can spin up more than one interpreter instance -- all the relevant state is (should be) in the interpreter instance, so this will give us clean independent executions. They could even share the query cache this way. However, this would AFAIK have to be sequential -- or can we make use of "parallel rustc" support for this somehow?
Inside the miri binary, create multiple rustc driver sessions, each in a separate thread. I think that should be possible? Or does the rustc driver infrastructure assume that it is instantiated only once per process?
Cc @bjorn3 since you know a lot about this driver stuff, IIRC. :)
Cc @SparrowLii for parallel rustc know-how.
The text was updated successfully, but these errors were encountered:
Currently,
./miri run
andcargo miri
both have an independent implementation of "many-seeds" mode. The one in./miri
is concurrent, the one incargo miri
is not.I wonder if we could avoid all that duplication by having this implemented directly in the driver instead, via something like
-Zmiri-many-seeds
? I can imagine two possible implementations:miri
binary, create multiple rustc driver sessions, each in a separate thread. I think that should be possible? Or does the rustc driver infrastructure assume that it is instantiated only once per process?Cc @bjorn3 since you know a lot about this driver stuff, IIRC. :)
Cc @SparrowLii for parallel rustc know-how.
The text was updated successfully, but these errors were encountered: