Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Feb 26, 2013
  1. @dbussink

    Create global constants for common encodings

    dbussink authored
    The lookup for these constants is a small improvement, but it was
    showing up in profiles as spending significant time in the lookuptable
    for these constants.
  2. @dbussink

    Make debugging of global serial bumping easier

    dbussink authored
    This gives us an option to see where the global serial is increased, to
    find for example cases where this causes constant lookup caches to
    invalidate.
  3. @dbussink
  4. @dbussink

    Add support for JIT'ing primitive fallback code

    dbussink authored
    We setup specializations for code with a primitive just like regular
    methods, but don't replace the executor. We use the special
    primitive_failed executor to check whether we have jitted versions and
    run them. If we would replace the default executor, we would end up with
    infinite recursion.
  5. @dbussink
Commits on Feb 25, 2013
  1. @dbussink

    Cleanup weakrefs before handling finalizers

    dbussink authored
    If weakrefs are kept alive because of finalizers, this means that people
    can access finalized objects if they use finalizers. This shouldn't
    happen and can cause problems, for example with therubyracer.
    
    This problem occured with therubyracer which resulted in an exception
    with the message "Data object has already been freed" because it
    expects the object to be usable if it can be referenced through a
    weakref.
  2. @hosiawak
  3. @dbussink

    If a parent call frame is jitted, compile the method from there

    dbussink authored
    Improves the new Richards benchmark with the following numbers:
    
    Before:
    === bin/rbx ===
            #main(10000)       76.1 (±3.9%) i/s -        384 in   5.057462s
    
    After:
    === bin/rbx ===
            #main(10000)      109.7 (±4.6%) i/s -        552 in   5.041215s
  4. @dbussink
  5. @dbussink

    Remove global lock for LLVM state

    dbussink authored
    This uses a lock on the shared state so we don't have a global lock
    there. Also switches to a spinlock for this case.
  6. @hosiawak

    Added Richards benchmark

    hosiawak authored
  7. @dbussink
  8. @dbussink

    Merge pull request #2176 from ryoqun/spec-shared-style

    dbussink authored
    Fix coding style for :shared
  9. @ryoqun

    Fix coding style for :shared

    ryoqun authored
  10. @dbussink

    Merge pull request #2175 from ryoqun/push-ivar-pretty

    dbussink authored
    Show literals for push_ivar in bytecode printer
  11. @ryoqun
  12. @dbussink

    Merge pull request #2174 from brainopia/patch-1

    dbussink authored
    Fix typos in proc specs
  13. @brainopia

    Fix typos in proc specs

    brainopia authored
  14. @dbussink

    Merge pull request #2173 from ryoqun/lambda-method

    dbussink authored
    Don't change a given proc to lambda when shouldn't
  15. @dbussink

    Use immediate class as specialization type

    dbussink authored
    We also use the direct class for inline caches, so we want to use this
    consistently. This also makes it easier to improve check_serial so the
    JIT can create a better version of that. Another advantage is that this
    makes it easier to create direct jumps to specialized functions in the
    JIT.
  16. @dbussink
  17. @ryoqun

    Remove a passing tag

    ryoqun authored
  18. @ryoqun
  19. @ryoqun
  20. @ryoqun

    Add an explanation

    ryoqun authored
Commits on Feb 24, 2013
  1. @dbussink

    Merge pull request #2170 from brainopia/support_private_hash

    dbussink authored
    Add and fix specs for Hash keys with private hash method
  2. @brainopia
  3. @brainopia
  4. @dbussink

    Don't inline calls for not often called methods

    dbussink authored
    This changes the JIT so we don't inline methods that aren't often
    called, allowing for more room in JIT'ted code for methods that are
    often called.
    
    It also changes to keep track of compiling explicitly instead of
    (ab)using the call_count for that. Resetting the call count had other
    effects such as disabling that method for future jitting that has
    adverse effects.
    
    On my system this shaves off around 1 - 2 seconds of a CI run.
Commits on Feb 23, 2013
  1. @davorb

    Merge pull request #2171 from brainopia/require_date_from_time

    davorb authored
    Require date when time is required
  2. @brainopia
  3. @dbussink

    Merge pull request #2169 from tsion/proc-argument-error

    dbussink authored
    Use CompiledCode name in Proc/BlockEnvironment ArgumentErrors
Commits on Feb 21, 2013
  1. @brixen

    Updated notification email. [ci skip]

    brixen authored
    This email has filters for all projects so using it instead.
  2. @brixen
  3. @brixen

    More CI tags updates.

    brixen authored
Something went wrong with that request. Please try again.