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

[mono][interp] Fix an issue with deopt and interpreter tiering. #76743

Merged
merged 2 commits into from
Oct 14, 2022

Commits on Oct 11, 2022

  1. [mono][interp] Fix an issue with deopt and interpreter tiering.

    If a method is tiered while being run from interp_run_clause_with_il_state (),
    the clause_args argument to interp_exec_method () still contains the old IL
    offsets confusing the EH code, i.e. this line:
    ```
    if (clause_args && frame == clause_args->exec_frame && context->handler_ip >= clause_args->end_at_ip)
    ```
    
    Clear out clause_args at the beginning to avoid this.
    
    Hopefully fixes
    dotnet#76134
    dotnet#74302
    vargaz committed Oct 11, 2022
    Configuration menu
    Copy the full SHA
    95654d0 View commit details
    Browse the repository at this point in the history
  2. [mono][interp] Avoid tiering up methods while running clauses.

    The IL offsets in the clause_args argument become out-of-date after tiering up.
    vargaz committed Oct 11, 2022
    Configuration menu
    Copy the full SHA
    0e1d606 View commit details
    Browse the repository at this point in the history