Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: jruby/jruby
base: 8f378adcdaba
Choose a base ref
...
head repository: jruby/jruby
compare: 2748c1a99595
Choose a head ref
  • 2 commits
  • 15 files changed
  • 1 contributor

Commits on Oct 8, 2014

  1. Split AddLocalVarLoadStoreInstructions into two passes

    * This is cleanup as indicated in commit 0630462
    
    * Tweaking this pass, and how/when it is run will come in
      later patches that will clean this up.
    
    * The split exposed a bug in the dyn-scope optimization.
      With the split, more scopes had both AddLocalVarLoadStoreInstructions
      and OptimizeDynScopes run on them and crashed some specs.
      This fix ensures that the two passes can run in either order
      without corrupting the scope.
    
    * Discovered that we need to preserve dyn-scope for scopes
      that contain 'Kernel.local_variables'. Did the conservative
      thing in CallBase.java.
    subbuss committed Oct 8, 2014
    Copy the full SHA
    b5d99a8 View commit details
    Browse the repository at this point in the history
  2. Clean up compiler pass run logic a bit.

    * Keep track of what passes have run in IRScope.
    
    * Updated CompilerPass.run to:
      - Update this list of passes,
      - Check if the pass has been previously run.
        Added a force parameter (for a future scenario) for when
        we need to re-run a pass.
      - Provide default implementations of previouslyRun and
        invalidate.
    
    * Individual passes override the default implementations where
      necessary (for example, where invalidation is not possible
      because the pass is not reversible).
    subbuss committed Oct 8, 2014
    Copy the full SHA
    2748c1a View commit details
    Browse the repository at this point in the history