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

Spilling and reloading: avoid behavior exponential in loop nesting #10414

Merged
merged 3 commits into from
May 19, 2021

Commits on May 15, 2021

  1. Spilling and reloading: avoid behavior exponential in loop nesting

    The original code was doing nested fixpoint iterations, each fixpoint
    iteration starting at bottom.  This results in a number of iterations
    exponential in the nesting of loops.
    
    Here, we just remember the result of the previous iterations and
    restart iteration from there.
    
    This is the same trick as in the new dataflow analyzer from ocaml#10404.
    It relies crucially on the uniqueness of catch handler labels within a
    function.
    xavierleroy committed May 15, 2021
    Configuration menu
    Copy the full SHA
    a6925c7 View commit details
    Browse the repository at this point in the history

Commits on May 19, 2021

  1. Configuration menu
    Copy the full SHA
    1d9c369 View commit details
    Browse the repository at this point in the history
  2. Add entry for ocaml#10414

    xavierleroy committed May 19, 2021
    Configuration menu
    Copy the full SHA
    91791b2 View commit details
    Browse the repository at this point in the history