1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/include/ruby
ko1 0db407836b * include/ruby/ruby.h: use rb_gc_writebrrier() simply.
For incremental GC, we need to get a pointer to the objspace.
  We can share this pointer for the following WB process.
  And considering icache hit ratio, prcess in the GC.
* gc.c (rb_gc_writebarrier): added.
* gc.c (gc_writebarrier_generational, gc_writebarrier_incremental):
  make them NOINLINE because inlining them into rb_gc_writebarrier()
  makes a prologue code of rb_gc_writebarrier() longer (storing callee
  save registers).
  This patch improve the performance of WB on micro-benchmarks.
  name                   ruby 2.1   trunk   modified
  vm1_gc_wb_ary*            0.511   0.632      0.532
  vm1_gc_wb_ary_promoted*   0.578   0.701      0.674
  vm1_gc_wb_obj*            0.419   0.575      0.492
  vm1_gc_wb_obj_promoted*   0.537   0.664      0.618
                                                 (sec)



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-17 10:26:39 +00:00
..
backward
debug.h
defines.h * symbian/*: removed Symbian support. 2014-09-04 11:09:32 +00:00
encoding.h string.c: rb_str_new_static 2014-09-19 05:53:00 +00:00
intern.h intern.h: rb_str_new_literal 2015-01-03 10:52:14 +00:00
io.h * include/ruby/io.h (FMODE_WSPLIT): Removed. The write() system call 2014-11-18 09:10:59 +00:00
missing.h configure.in, missing.h: jemalloc mangling 2014-06-05 05:16:46 +00:00
oniguruma.h * reg*.c: Merge Onigmo 5.15.0 38a870960aa7370051a3544 2014-09-15 16:18:41 +00:00
re.h re.c: rb_reg_region_copy 2014-12-01 21:30:58 +00:00
regex.h
ruby.h * include/ruby/ruby.h: use rb_gc_writebrrier() simply. 2015-03-17 10:26:39 +00:00
st.h st.c: remove equality checks 2014-07-06 15:11:53 +00:00
subst.h
thread.h
thread_native.h * ext/openssl/depend: remove dependency from internal headers. 2014-05-14 10:55:38 +00:00
util.h
version.h ruby/version.h: bump API version 2014-12-29 11:16:17 +00:00
vm.h
win32.h * win32/win32.c, include/win32/win32.h (rb_w32_set_nonblock): new 2014-11-10 10:42:19 +00:00