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

Optimize catch_unwind to match C++ try/catch #67502

Merged
merged 16 commits into from
Mar 14, 2020

Commits on Mar 2, 2020

  1. Inline catching panics into std::catch_unwind

    This allows LLVM to inline the happy path, such that catching unwinding is
    zero-cost when no panic occurs. This also allows us to match the code generated
    by C++ try/catch.
    Mark-Simulacrum authored and Amanieu committed Mar 2, 2020
    Configuration menu
    Copy the full SHA
    d45ce5a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1920f81 View commit details
    Browse the repository at this point in the history
  3. Test catch_unwind vanishing

    We execpt the try intrinsic to be a direct call if in -Cpanic=abort mode, and
    that catch_unwind optimizes out if calling a function that does not unwind.
    Amanieu committed Mar 2, 2020
    Configuration menu
    Copy the full SHA
    919c5fe View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    dd6c3b7 View commit details
    Browse the repository at this point in the history
  5. Mark cleanup cold

    Mark-Simulacrum authored and Amanieu committed Mar 2, 2020
    Configuration menu
    Copy the full SHA
    bdcc023 View commit details
    Browse the repository at this point in the history
  6. Fix some minor issues

    Amanieu committed Mar 2, 2020
    Configuration menu
    Copy the full SHA
    5b68235 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    35349ab View commit details
    Browse the repository at this point in the history
  8. Apply review feedback

    Amanieu committed Mar 2, 2020
    Configuration menu
    Copy the full SHA
    01d0494 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    61b67d0 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    d73813a View commit details
    Browse the repository at this point in the history

Commits on Mar 5, 2020

  1. Configuration menu
    Copy the full SHA
    f4f91f0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5953c10 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1c950e5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8e3467c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    04f24b7 View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2020

  1. Apply review feedback

    Amanieu committed Mar 7, 2020
    Configuration menu
    Copy the full SHA
    9f3679f View commit details
    Browse the repository at this point in the history