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: 14f00d78df3e
Choose a base ref
...
head repository: jruby/jruby
compare: f691f6999a55
Choose a head ref
  • 2 commits
  • 15 files changed
  • 1 contributor

Commits on Jun 30, 2018

  1. Delete some unused code.

    headius committed Jun 30, 2018
    Configuration menu
    Copy the full SHA
    7cba748 View commit details
    Browse the repository at this point in the history
  2. Expand reification to arbitrary object size.

    This commit allows reification of instance variables to handle
    arbitrarily-sized objects, with no upper limit at present.
    
    It fixes the following problems:
    
    * Object with instance variable counts over 10 fall back on using
      an array.
    * Objects reified with the same shape as a previous class do not
      properly use the reified fields.
    
    There's additional work to do, however:
    
    * The allocator is no longer generated; it is currently a single
      subclass that uses a method handle to construct the object. This
      will not optimize the way we want, and will not properly inline
      into `new` call sites.
    * The accessors are now just FieldVariableAccessor instances with
      two handles for getter and setter. Indy variable/attr call sites
      will use these handles and ideally optimize well, but non-indy
      sites will have the overhead of calling handles every time. This
      may be justification for enabling indy by default now, or
      disabling reification without indy.
    headius committed Jun 30, 2018
    Configuration menu
    Copy the full SHA
    f691f69 View commit details
    Browse the repository at this point in the history