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: 9efe5ea80908
Choose a base ref
...
head repository: jruby/jruby
compare: 2167c9762c8c
Choose a head ref
  • 6 commits
  • 7 files changed
  • 1 contributor

Commits on Oct 22, 2014

  1. [Truffle] Restore part of the constant caching.

    * No need to define READ_CONSTANT for doUnboxedObject,
      constant lookup is only allowed on modules.
    eregon committed Oct 22, 2014
    Copy the full SHA
    15f1ad8 View commit details
    Browse the repository at this point in the history
  2. [Truffle] Restore the rest of the constant cache.

    * Still does not take lexical parents into account.
    * Relies on identifying modules by their singleton class.
    eregon committed Oct 22, 2014
    Copy the full SHA
    a0eac16 View commit details
    Browse the repository at this point in the history
  3. [Truffle] Add RubyModule.isOnlyAModule() to check if a Module but not…

    … a Class.
    
    * Makes the intent clearer.
    eregon committed Oct 22, 2014
    Copy the full SHA
    79b26b4 View commit details
    Browse the repository at this point in the history
  4. [Truffle] use getSingletonClass() to ensure getting the singleton class.

    * So the receiver of constant lookup, a Module, is an instance of its singleton class
      for cache and invalidation compatibility with calls.
    eregon committed Oct 22, 2014
    Copy the full SHA
    4f72cb7 View commit details
    Browse the repository at this point in the history
  5. [Truffle] Proper invalidation for lexical scope.

    * dependents can now be cyclic, such as below.
    
    class Parent
    end
    class Child < Parent
    end
    p Child.ancestors # => [Child, Parent, ...]
    
    class Child
      class ::Parent
        p Module.nesting # => [Parent, Child]
      end
    end
    eregon committed Oct 22, 2014
    Copy the full SHA
    92f4062 View commit details
    Browse the repository at this point in the history
  6. [Truffle] We also need to invalidate the singleton class for changes …

    …to constant lookup.
    
    * Only if there is a singleton class, of course.
    eregon committed Oct 22, 2014
    Copy the full SHA
    2167c97 View commit details
    Browse the repository at this point in the history