Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Dec 7, 2012
Commits on Dec 6, 2012
Commits on Dec 5, 2012
Commits on Dec 2, 2012
Commits on Dec 1, 2012
  1. @brixen
  2. @brixen
  3. @brixen

    Specs for Marshal.dump(Float).

    brixen authored
Commits on Nov 30, 2012
  1. @dbussink

    Improve performance of Fixnum / Float case

    dbussink authored
    The slowness of this case really showed in the benchmarks of the
    previous commit. This change improves it a lot.
    
    Benchmarks
    
    Before:
    
    === bin/rbx ===
    Fixnum / Fixnum => Fixnum
                         29537345.3 (±4.6%) i/s -  147317067 in   5.000582s (cycle=207197)
    Fixnum / Bignum => Fixnum
                          3047918.1 (±4.3%) i/s -   15215079 in   5.001627s (cycle=163603)
    Fixnum / Float => Float
                           718033.1 (±1.2%) i/s -    3613038 in   5.032528s (cycle=46321)
    
    After:
    
    === bin/rbx ===
    Fixnum / Fixnum => Fixnum
                         29195695.3 (±3.6%) i/s -  145885818 in   5.003754s (cycle=223067)
    Fixnum / Bignum => Fixnum
                          3114276.4 (±3.4%) i/s -   15702263 in   5.048494s (cycle=161879)
    Fixnum / Float => Float
                         15513110.3 (±2.9%) i/s -   77558080 in   5.003963s (cycle=285140)
  2. @dbussink

    Teach the JIT about fixnum_div and fixnum_mod

    dbussink authored
    The JIT now knows about these primitives. We only have an optimized
    version for the case where both arguments are non negative, where the
    semantics of division are the same for C / machine code and Ruby.
    
    Benchmarks
    
    Before:
    
    === bin/rbx ===
    Fixnum / Fixnum => Fixnum
                         20107655.8 (±2.8%) i/s -  100587036 in   5.006519s (cycle=201982)
    Fixnum / Bignum => Fixnum
                          3162968.2 (±1.8%) i/s -   15852256 in   5.013464s (cycle=141538)
    Fixnum / Float => Float
                           717959.5 (±1.7%) i/s -    3632104 in   5.060508s (cycle=45976)
    
    === bin/rbx ===
    Fixnum % Fixnum => Fixnum
                        18813711.0 (±1.9%) i/s -   94043780 in   5.000567s (cycle=204443)
    Fixnum % Bignum => Fixnum
                         2717041.6 (±2.0%) i/s -   13695336 in   5.042541s (cycle=134268)
    Fixnum % Float => Float
                        12421966.6 (±2.4%) i/s -   62129025 in   5.004790s (cycle=276129)
    
    After:
    
    === bin/rbx ===
    Fixnum / Fixnum => Fixnum
                         28664392.0 (±7.0%) i/s -  142374720 in   4.998395s (cycle=220736)
    Fixnum / Bignum => Fixnum
                          3072905.7 (±2.2%) i/s -   15458226 in   5.032969s (cycle=157737)
    Fixnum / Float => Float
                           730467.0 (±3.4%) i/s -    3682348 in   5.047618s (cycle=46612)
    
    === bin/rbx ===
    Fixnum % Fixnum => Fixnum
                        29326307.6 (±3.5%) i/s -  146445445 in   5.000831s (cycle=208315)
    Fixnum % Bignum => Fixnum
                         2667568.3 (±1.9%) i/s -   13332110 in   4.999839s (cycle=140338)
    Fixnum % Float => Float
                        13014242.1 (±3.4%) i/s -   65100113 in   5.009206s (cycle=259363)
  3. @dbussink

    When closing a popen pipe, child might already have exited

    dbussink authored
    In the Puma tests a server is spawned with IO.popen and in the teardown
    it explicitly uses a waitpid() when shutting down. This means when
    IO#close tries to do that too, it throws an error.
    
    In this case, we can ignore the error if the child has already
    disappeared.
  4. @dbussink

    Add IO.popen spec for when child has exited and has been waited for

    dbussink authored
    Extract from the Puma specs
Commits on Nov 29, 2012
  1. @dbussink
  2. @dbussink
  3. @dbussink
  4. @dbussink
  5. @jc00ke
Commits on Nov 28, 2012
  1. @dbussink

    Include stddef for NULL

    dbussink authored
  2. @dbussink
  3. @dbussink
  4. @dbussink

    Setup new unwinds structure that allows dynamic growth

    dbussink authored
    We allocate a small static space for unwinds and allow for growth
    instead of large static sized area. The size of the small space is based
    currently on CI runs that have enough head room with a size of 4.
    
    This reduces the size of a call frame in the interpreter by around 180
    bytes.
  5. @dbussink

    Setup thread local scratchpad for unwind info

    dbussink authored
    This way we don't have to allocate space for it at the top for each
    jitted method, so we save on stack space allocated.
  6. @dbussink

    Add rb_ary_concat

    dbussink authored
  7. @dbussink

    Add spec for rb_ary_concat

    dbussink authored
  8. @dbussink
  9. @dbussink
  10. @dbussink
  11. @dbussink
  12. @dbussink
  13. @dbussink
  14. @IPGlider

    Add myself to AUTHORS

    IPGlider authored
Commits on Nov 27, 2012
  1. @dbussink

    Implement rb_thread_create

    dbussink authored
    This uses a macro so we can setup the original filename and function
    name properly. This makes sure they end up in backtraces.
    
    Fixes #2000
  2. @dbussink
  3. @dbussink

    Add rb_syserr_fail

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