Permalink
Commits on Feb 26, 2013
  1. Create global constants for common encodings

    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.
    dbussink committed Feb 26, 2013
  2. Make debugging of global serial bumping easier

    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.
    dbussink committed Feb 26, 2013
  3. Add support for JIT'ing primitive fallback code

    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.
    dbussink committed Feb 26, 2013
Commits on Feb 25, 2013
  1. Cleanup weakrefs before handling finalizers

    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.
    dbussink committed Feb 25, 2013
  2. If a parent call frame is jitted, compile the method from there

    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
    dbussink committed Feb 25, 2013
  3. Remove global lock for LLVM state

    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.
    dbussink committed Feb 25, 2013
  4. Added Richards benchmark

    hosiawak committed Feb 25, 2013
  5. Merge pull request #2176 from ryoqun/spec-shared-style

    Fix coding style for :shared
    dbussink committed Feb 25, 2013
  6. Fix coding style for :shared

    ryoqun committed Feb 25, 2013
  7. Merge pull request #2175 from ryoqun/push-ivar-pretty

    Show literals for push_ivar in bytecode printer
    dbussink committed Feb 25, 2013
  8. Merge pull request #2174 from brainopia/patch-1

    Fix typos in proc specs
    dbussink committed Feb 25, 2013
  9. Fix typos in proc specs

    brainopia committed Feb 25, 2013
  10. Merge pull request #2173 from ryoqun/lambda-method

    Don't change a given proc to lambda when shouldn't
    dbussink committed Feb 25, 2013
  11. Use immediate class as specialization type

    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.
    dbussink committed Feb 25, 2013
  12. Remove a passing tag

    ryoqun committed Feb 24, 2013
  13. Add an explanation

    ryoqun committed Feb 24, 2013
Commits on Feb 24, 2013
  1. Merge pull request #2170 from brainopia/support_private_hash

    Add and fix specs for Hash keys with private hash method
    dbussink committed Feb 24, 2013
  2. Don't inline calls for not often called methods

    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.
    dbussink committed Feb 24, 2013
Commits on Feb 23, 2013
  1. Merge pull request #2171 from brainopia/require_date_from_time

    Require date when time is required
    davorb committed Feb 23, 2013
  2. Merge pull request #2169 from tsion/proc-argument-error

    Use CompiledCode name in Proc/BlockEnvironment ArgumentErrors
    dbussink committed Feb 23, 2013
Commits on Feb 21, 2013
  1. Updated notification email. [ci skip]

    This email has filters for all projects so using it instead.
    brixen committed Feb 21, 2013
  2. More CI tags updates.

    brixen committed Feb 21, 2013