Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement basic support for concurrency (Linux/macos only) #1284

Merged
merged 77 commits into from
Apr 30, 2020

Commits on Apr 27, 2020

  1. Implement basic support for concurrency (Linux only).

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    82f17ab View commit details
    Browse the repository at this point in the history
  2. Add a warning that Miri does not check for data-races.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    58a6a27 View commit details
    Browse the repository at this point in the history
  3. Update to support the updated API.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    8dd8f19 View commit details
    Browse the repository at this point in the history
  4. Add a test for thread locals.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    92946b5 View commit details
    Browse the repository at this point in the history
  5. Fix the problem of sending pointed to thread local statics. Add a reg…

    …ression test.
    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    aef4c95 View commit details
    Browse the repository at this point in the history
  6. Move pthread_create and related shims to a separate file.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    1f33f04 View commit details
    Browse the repository at this point in the history
  7. Report that we do not support foreign thread local statics.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    ed9c7d1 View commit details
    Browse the repository at this point in the history
  8. Fix comments in TLS.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    5218419 View commit details
    Browse the repository at this point in the history
  9. Store the thread name.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    f21197f View commit details
    Browse the repository at this point in the history
  10. Rustfmt the test.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    b04bf8a View commit details
    Browse the repository at this point in the history
  11. Fix pthread_self.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    2202278 View commit details
    Browse the repository at this point in the history
  12. Rebase on PR 1157.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    1c8a59c View commit details
    Browse the repository at this point in the history
  13. Rename ThreadSet to ThreadManager.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    d907fb5 View commit details
    Browse the repository at this point in the history
  14. Small refactoring in pthread sync: extract common functionallity to s…

    …eparate functions.
    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    0c4303c View commit details
    Browse the repository at this point in the history
  15. Generate fresh allocation ids for thread locals in eval_maybe_thread_…

    …local_static_const.
    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    963e969 View commit details
    Browse the repository at this point in the history
  16. Generate thread local allocations in eval_maybe_thread_local_static_c…

    …onst.
    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    51b16e5 View commit details
    Browse the repository at this point in the history
  17. Address some of the reviewers comments.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    325c31e View commit details
    Browse the repository at this point in the history
  18. Rename eval_maybe_thread_local_static_const to adjust_global_const.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    4609c3c View commit details
    Browse the repository at this point in the history
  19. Add a missing newline in the test.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    d9ec0f2 View commit details
    Browse the repository at this point in the history
  20. Fix imports.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    552080a View commit details
    Browse the repository at this point in the history
  21. Make an assert message consistent with other asserts.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    94118d4 View commit details
    Browse the repository at this point in the history
  22. Fix typo in a comment.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    1d0eb93 View commit details
    Browse the repository at this point in the history
  23. Cleanup the implementation of adjust_global_const.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    688cacb View commit details
    Browse the repository at this point in the history
  24. Add a missing newline.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    a585dc8 View commit details
    Browse the repository at this point in the history
  25. Rename threads to thread to match the Rust standard library.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    44e9305 View commit details
    Browse the repository at this point in the history
  26. Fix support for MacOS.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    d062f63 View commit details
    Browse the repository at this point in the history
  27. Add a comment explaining global destructors on MacOS.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    134533d View commit details
    Browse the repository at this point in the history
  28. Implement thread::yield_now.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    46fd333 View commit details
    Browse the repository at this point in the history
  29. Add concurrency tests.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    421be27 View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    c84b289 View commit details
    Browse the repository at this point in the history
  31. Rename MacOS set global dtor function.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    d6c0392 View commit details
    Browse the repository at this point in the history
  32. Move prctl to Linux specific shims.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    69df2e1 View commit details
    Browse the repository at this point in the history
  33. Change the warning message.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    eab38df View commit details
    Browse the repository at this point in the history
  34. Improve prctl, add a test.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    75e6549 View commit details
    Browse the repository at this point in the history
  35. Many small changes to thread management.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    94cbe88 View commit details
    Browse the repository at this point in the history
  36. Improve concurrency tests.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    80459bb View commit details
    Browse the repository at this point in the history
  37. Fix how a pthread_create function argument is constructed.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    17f7bc8 View commit details
    Browse the repository at this point in the history
  38. Add more concurrency tests.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    5b55e07 View commit details
    Browse the repository at this point in the history
  39. Track if a thread was already joined.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    e4dc356 View commit details
    Browse the repository at this point in the history
  40. Clarify comments about TLS destructor handling in Windows, add a test…

    … for TLS destructors.
    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    9a01c3f View commit details
    Browse the repository at this point in the history
  41. Small style fix.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    3bb1657 View commit details
    Browse the repository at this point in the history
  42. Print the thread name in Debug.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    452e36e View commit details
    Browse the repository at this point in the history
  43. Fix merge error.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    69eaaad View commit details
    Browse the repository at this point in the history
  44. Make the main thread detached.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    e7c2694 View commit details
    Browse the repository at this point in the history
  45. Fix the test annotation.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    e7b82fd View commit details
    Browse the repository at this point in the history
  46. Clarify test comments.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    40e50bf View commit details
    Browse the repository at this point in the history
  47. Check prctl argument types and fix the test.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    8a7dbde View commit details
    Browse the repository at this point in the history
  48. Clarify FIXME.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    d45e985 View commit details
    Browse the repository at this point in the history
  49. Configuration menu
    Copy the full SHA
    eaa6326 View commit details
    Browse the repository at this point in the history
  50. Ignore prctl test on MacOS because it does not support it.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    cc9248a View commit details
    Browse the repository at this point in the history
  51. Add an explanatory comment to the test.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    90e9a87 View commit details
    Browse the repository at this point in the history
  52. Change the test not to rely on internals.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    8240ed2 View commit details
    Browse the repository at this point in the history
  53. Unify TLS dtors; move stepping outside.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    feb1883 View commit details
    Browse the repository at this point in the history
  54. Move copying of the thread name to the client side.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    04abf06 View commit details
    Browse the repository at this point in the history
  55. Improve Debug formatting of the thread name.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    bc9d007 View commit details
    Browse the repository at this point in the history
  56. Added a test that joining main is UB.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    ff5e35b View commit details
    Browse the repository at this point in the history
  57. Improve comments.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    64164b1 View commit details
    Browse the repository at this point in the history
  58. Delete a duplicate test.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    60cd8aa View commit details
    Browse the repository at this point in the history
  59. Move prctl test to the same file as other libc tests.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    39efdf3 View commit details
    Browse the repository at this point in the history
  60. Rename global tls dtor to thread dtor.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    6842eb2 View commit details
    Browse the repository at this point in the history
  61. Many small changes to clean up code.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    c4574dd View commit details
    Browse the repository at this point in the history
  62. Improve style and comments.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    911ff7e View commit details
    Browse the repository at this point in the history
  63. Make sure to remove thread local data only if we have destructor.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    d9e18ad View commit details
    Browse the repository at this point in the history
  64. Use DLL_THREAD_DETACH when calling windows TLS destructor.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    174adad View commit details
    Browse the repository at this point in the history
  65. Change representation and conversion of ThreadId and BlockSetId.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    9ba3ef2 View commit details
    Browse the repository at this point in the history
  66. Improve comments and code clarity.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    207c6e7 View commit details
    Browse the repository at this point in the history
  67. Add a FIXME.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    356aecc View commit details
    Browse the repository at this point in the history
  68. Merge dtors_running and last_dtor_key fields.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    f204b67 View commit details
    Browse the repository at this point in the history
  69. Add a test for joining in a destructor.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    331dbd1 View commit details
    Browse the repository at this point in the history
  70. Improve comments.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    c56ef31 View commit details
    Browse the repository at this point in the history
  71. Make From implementations non-failing.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    df2ca53 View commit details
    Browse the repository at this point in the history
  72. Delete remaining tls entries after all destructors completed.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    1355574 View commit details
    Browse the repository at this point in the history
  73. Fix MacOS and Windows builds.

    Vytautas Astrauskas committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    3b58541 View commit details
    Browse the repository at this point in the history

Commits on Apr 29, 2020

  1. Improve code readability and comments.

    Vytautas Astrauskas committed Apr 29, 2020
    Configuration menu
    Copy the full SHA
    46b0317 View commit details
    Browse the repository at this point in the history
  2. Use Entry API in set_dtors_running.

    Vytautas Astrauskas committed Apr 29, 2020
    Configuration menu
    Copy the full SHA
    0e052ab View commit details
    Browse the repository at this point in the history
  3. Fix a regression in Windows dtors.

    Vytautas Astrauskas committed Apr 29, 2020
    Configuration menu
    Copy the full SHA
    603ec0b View commit details
    Browse the repository at this point in the history

Commits on Apr 30, 2020

  1. Fix prctl SET_NAME and GET_NAME behaviour.

    Vytautas Astrauskas committed Apr 30, 2020
    Configuration menu
    Copy the full SHA
    48da0cf View commit details
    Browse the repository at this point in the history