Commit Graph

2276 Commits

Author SHA1 Message Date
Ralf Jung 024cc435f4 avoid env::var which requires valid UTF-8 2020-05-09 12:04:21 +02:00
Ralf Jung 20097be2fe more comment 2020-05-09 11:54:45 +02:00
Ralf Jung 1ba42b9f55 Wording
Co-authored-by: Oliver Scherer <github35764891676564198441@oli-obk.de>
2020-05-09 11:53:24 +02:00
Ralf Jung e73fc97f0b cargo-miri: honor RUSTC env var 2020-05-09 11:52:26 +02:00
Ralf Jung 70f83a342c re-do cargo-miri host/target detection logic to match rustbuild 2020-05-09 11:45:43 +02:00
Ralf Jung 379ac82a1c bump Rust, fix for renames 2020-05-09 10:15:09 +02:00
Ralf Jung 914e483c89 fix cargo-miri intercepting --help/--version arguments 2020-05-08 09:55:28 +02:00
Ralf Jung 45ef97535f fs shim: check that mode is default 2020-05-05 16:49:01 +02:00
Ralf Jung 40800cfa19 make sure we check the size of all arguments 2020-05-05 12:19:54 +02:00
Ralf Jung 5656cb73d4 fix a comment now that we have concurrency 2020-05-05 11:59:22 +02:00
Ralf Jung cd6be98852 make sure we check argument count everywhere 2020-05-05 11:59:22 +02:00
Ralf Jung 5566e3901c deduplicate FD extraction 2020-05-05 11:44:33 +02:00
Chase Albert 4e3d1fee51 Address comments. 2020-05-04 14:24:22 -04:00
Chase Albert 4d3dff2add Address consistency of naming for unused/merely validated arguments. 2020-05-04 13:51:23 -04:00
Chase Albert 78f329513a Check that shims are called with the correct number of arguments 2020-05-04 13:51:21 -04:00
Ralf Jung 61a86e1ffe Windows lock primitives: check that we are truly sinle-threaded 2020-05-04 09:37:40 +02:00
Ralf Jung 6b18f6e106 fix setting thread name on macOS 2020-05-03 13:22:56 +02:00
Ralf Jung 6680118588 de-duplicate <unnamed> default thread name 2020-05-03 12:56:38 +02:00
Ralf Jung 994b13eaee yield on x86 'pause' hint 2020-05-03 12:43:38 +02:00
Ralf Jung 1578540959 bump Rust, fix warnings 2020-05-03 12:10:24 +02:00
Ralf Jung 393165f859 rustup; fix for changed error messages 2020-05-01 14:43:59 +02:00
Ralf Jung ba670d6970 make sure macos function has 'macos' in its name 2020-04-30 19:38:17 +02:00
bors 351d46d3fb Auto merge of #1284 - vakaras:add-threads-cr2, r=RalfJung
Implement basic support for concurrency (Linux/macos only)

Changes  (most new code is in `src/threads.rs` and `src/shims/foreign_items/posix.rs`):

1. Move the stack from `Machine` to a newly created `Thread` struct.
2. Add a `ThreadSet` struct that manages the threads.
3. Change `canonical_alloc_id` to create a unique allocation id for each thread local and thread (the responsible struct is `ThreadLocalStorage`)
4. Change the code to execute the thread local destructors immediately when a thread terminates.
5. Add the most basic round-robin scheduler.

This pull request depends on [these changes to the compiler](https://github.com/rust-lang/rust/pull/70598).
2020-04-30 16:21:43 +00:00
Vytautas Astrauskas 48da0cf489 Fix prctl SET_NAME and GET_NAME behaviour. 2020-04-30 08:35:59 -07:00
Ralf Jung e9212d14ac more helpful error on workspaces 2020-04-30 10:19:34 +02:00
Vytautas Astrauskas 603ec0b3d8 Fix a regression in Windows dtors. 2020-04-29 15:20:26 -07:00
Vytautas Astrauskas 0e052ab897 Use Entry API in set_dtors_running. 2020-04-29 15:12:09 -07:00
Vytautas Astrauskas 46b03174d0 Improve code readability and comments. 2020-04-29 13:16:22 -07:00
Ralf Jung a5445e0230 rustup for more LocalDefId changes 2020-04-28 10:30:21 +02:00
Vytautas Astrauskas 3b5854191c Fix MacOS and Windows builds. 2020-04-27 15:21:01 -07:00
Vytautas Astrauskas 1355574beb Delete remaining tls entries after all destructors completed. 2020-04-27 14:26:36 -07:00
Vytautas Astrauskas df2ca53b69 Make From implementations non-failing. 2020-04-27 14:26:36 -07:00
Vytautas Astrauskas c56ef31780 Improve comments. 2020-04-27 14:26:36 -07:00
Vytautas Astrauskas f204b67b0f Merge dtors_running and last_dtor_key fields. 2020-04-27 14:26:36 -07:00
Vytautas Astrauskas 356aecce7f Add a FIXME. 2020-04-27 14:26:36 -07:00
Vytautas Astrauskas 207c6e7fa7 Improve comments and code clarity. 2020-04-27 14:26:36 -07:00
Vytautas Astrauskas 9ba3ef2a44 Change representation and conversion of ThreadId and BlockSetId. 2020-04-27 14:26:36 -07:00
Vytautas Astrauskas 174adad2b3 Use DLL_THREAD_DETACH when calling windows TLS destructor. 2020-04-27 14:26:36 -07:00
Vytautas Astrauskas d9e18ada39 Make sure to remove thread local data only if we have destructor. 2020-04-27 14:26:36 -07:00
Vytautas Astrauskas 911ff7eade Improve style and comments. 2020-04-27 14:26:36 -07:00
Vytautas Astrauskas c4574dde8d Many small changes to clean up code. 2020-04-27 14:26:36 -07:00
Vytautas Astrauskas 6842eb2b84 Rename global tls dtor to thread dtor. 2020-04-27 14:26:36 -07:00
Vytautas Astrauskas 64164b10e8 Improve comments. 2020-04-27 14:26:36 -07:00
Vytautas Astrauskas bc9d007e3e Improve Debug formatting of the thread name. 2020-04-27 14:26:36 -07:00
Vytautas Astrauskas 04abf066f1 Move copying of the thread name to the client side. 2020-04-27 14:26:36 -07:00
Vytautas Astrauskas feb188360e Unify TLS dtors; move stepping outside. 2020-04-27 14:26:36 -07:00
Vytautas Astrauskas d45e985669 Clarify FIXME. 2020-04-27 14:26:36 -07:00
Vytautas Astrauskas 8a7dbde372 Check prctl argument types and fix the test. 2020-04-27 14:26:36 -07:00
Vytautas Astrauskas e7c2694b8b Make the main thread detached. 2020-04-27 14:26:36 -07:00
Vytautas Astrauskas 69eaaadc28 Fix merge error. 2020-04-27 14:26:36 -07:00