diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-07-26 09:23:40 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-07-26 09:23:40 +0000 |
commit | d320b2d9e9d4d6dbb73c85df433f8b5559f7d716 (patch) | |
tree | b413e5ea14986e52fe48dd760d1c5f5e3b867232 /array.c | |
parent | 48443714b7c6521571e9a029d4221d8f75969b05 (diff) | |
download | ruby-d320b2d9e9d4d6dbb73c85df433f8b5559f7d716.tar.gz |
* array.c (ary_memcpy): try to enable optimization.
At least on my environments, I don't see any errors
with many trials. Please tell us if you find any GC bugs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'array.c')
-rw-r--r-- | array.c | 3 |
1 files changed, 1 insertions, 2 deletions
@@ -69,8 +69,7 @@ ary_memcpy(VALUE ary, long beg, long argc, const VALUE *argv) { #if 1 if (OBJ_PROMOTED(ary)) { - if (0 /* disalbe now, because it cause mysterious error. */ - && argc > 32 /* 32 is magic number */) { + if (argc > (128/sizeof(VALUE)) /* is magic number (cache line size) */) { rb_gc_writebarrier_remember_promoted(ary); RARRAY_PTR_USE(ary, ptr, { MEMCPY(ptr+beg, argv, VALUE, argc); |