Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Branch: proc-fixes
Commits on Feb 13, 2013
  1. Correctly override #source_location at Proc::Method

    Also, to make it happen, this versionizes Proc::Method#inspect.
  2. Remove stale comment

  3. @brixen

    Merge pull request #2150 from kachick/fix_improve-range_each

    brixen authored
    Fix Range#each for Symbol elements and some simplifications
  4. @brixen
  5. @brixen

    Rewrote String#chomp[!] specs.

    brixen authored
  6. @brixen
  7. @brixen
  8. @brixen

    Specs for #previous_byte_index.

    brixen authored
  9. @brixen
  10. @brixen

    More Kernel.chop[!] specs.

    brixen authored
Commits on Feb 12, 2013
  1. @hosiawak

    Added raytracer benchmark

    hosiawak authored
  2. @dbussink

    Fix check_if_positive_fixnums

    dbussink authored
    This check passed wrongly when neither of the arguments was a fixnum.
    This changes the check to make sure that or'ing and and'ing the tags
    both result in a tag equal to the fixnum tag.
    Fixes #2153
Commits on Feb 11, 2013
  1. @dbussink

    Also compile blocks without a parent

    dbussink authored
    These blocks are created for example when using eval(). We create a
    block environment in those cases that we evaluate the code in.
  2. @dbussink

    Improve debugging information inside the JIT

    dbussink authored
    Also removes a duplicate debugging output.
  3. @brixen
  4. @kachick

    Adjust Range#each for X18

    kachick authored
    Ruby 1.8.7 can not generate Range objects from Symbol elements
    :a..:b #=> ArgumentError: bad value for range
    This commit removes verbose dealing for Symbol on X18
  5. @kachick
  6. @kachick
  7. @kachick
Commits on Feb 10, 2013
  1. @dbussink
  2. @dbussink
  3. @dbussink

    Improve type checking for array and binding

    dbussink authored
    Checking respond_to? is relatively expensive, so when we don't have to
    coerce a type anyway, we shouldn't have to check for it.
  4. @dbussink
  5. @dbussink

    Introduce fast path for nested constants

    dbussink authored
    We didn't have caching for constant lookup for nested constants, such as
    Rubinius::VariableScope. This means that when a constants was referenced
    in that way, it would not cache the VariableScope constant.
    This commit introduces a constant cache very similar to not nested
    constants. It also stores the scope it was used under, so we can
    properly validate the have the correct constant. Also specialization is
    added to the JIT to have a fast path for these cached constants if they
    are still valid.
  6. @dbussink

    Setup intermediate attr_writer and attr_reader

    dbussink authored
    This ensures that classes loaded in kernel/common such as Binding also
    properly track the ivars for attr_* methods. Before Binding didn't get
    the proper optimized memory layout, significantly affecting performance
    of create a binding.
Commits on Feb 9, 2013
  1. @dbussink

    Use packed ivar setting in inline accessor writers

    dbussink authored
    This can use the fast path if the instance variable is a packed ivar and
    is writter with an attr_writer. This also uses the typed check for slots
    like set_ivar does so it properly fails when a wrong type is set.
  2. @dbussink

    Add JIT primitives for often used methods

    dbussink authored
    Creating a binding happens often in for example templating libraries
    where the binding is used for evaluating the template.
Commits on Feb 8, 2013
  1. @dbussink
  2. @dbussink

    Allow JIT to run GC dependent

    dbussink authored
    This also makes sure that when we fork, we stop at a safe point to do
    this. Otherwise we might fork in the middle of generating JIT code,
    putting LLVM in a state that can cause problems, for example if it holds
    locks internally.
Something went wrong with that request. Please try again.