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: cf6c3c5b1555
Choose a base ref
...
head repository: jruby/jruby
compare: c23d280a0d2a
Choose a head ref
  • 7 commits
  • 23 files changed
  • 1 contributor

Commits on Jan 5, 2015

  1. Copy the full SHA
    165e845 View commit details
    Browse the repository at this point in the history
  2. Immutable CurrentScope can be shared. 500-700k reduction for Rails co…

    …nsole (28k instances to 5).
    enebo committed Jan 5, 2015
    Copy the full SHA
    34acdfe View commit details
    Browse the repository at this point in the history
  3. Immutable TemporaryCurrentModuleVariable can be shared. ~500k reducti…

    …on for Rails console (24k instances to 5).
    enebo committed Jan 5, 2015
    Copy the full SHA
    78c0a23 View commit details
    Browse the repository at this point in the history
  4. Immutable ScopeModule can be shared. ~400k reduction for Rails consol…

    …e (19k instances to 5).
    enebo committed Jan 5, 2015
    Copy the full SHA
    229df85 View commit details
    Browse the repository at this point in the history
  5. Immutable TemporaryCurrentScopeVariable can be shared. ~500k reductio…

    …n for Rails console (22k instances to 5).
    enebo committed Jan 5, 2015
    Copy the full SHA
    753f35a View commit details
    Browse the repository at this point in the history
  6. Make IRMethod IRBuilding Lazy. IRMethod now has a prepareForInterpret…

    …ation which finishes IRBuilding.
    
    This significantly reduces memory usage and in theory should reduce startup time (have not seen
    a big difference but there is likely some payoff).  For Rails console this ended up saying between 17-20M of memory.
    enebo committed Jan 5, 2015
    Copy the full SHA
    dfd1ece View commit details
    Browse the repository at this point in the history
  7. LineNumberInstr was storing scope in case it was being inlined. Now t…

    …here is a specialized
    
    InlinedNumberInstr which will record it's IRScope when it is being cloned for Inlining.  This
    required adding some more state to CloneInlineInfo but it means:
    
    1. LineNumberInstr will use less memory (one less field)
    2. It's only mutable state is ipc/rpc but since flow control cannot change while
       executing a line number instr we do not need to clone or worry about those fields
    3. We can start sharing linenumberinstrs (not done in this commit).
    
    By virtue of not cloning this saves about 1M of memory in Rails console.
    enebo committed Jan 5, 2015
    Copy the full SHA
    c23d280 View commit details
    Browse the repository at this point in the history