diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | array.c | 3 |
2 files changed, 7 insertions, 2 deletions
@@ -1,3 +1,9 @@ +Fri Jul 26 18:21:58 2013 Koichi Sasada <ko1@atdot.net> + + * 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. + Fri Jul 26 17:49:26 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> * win32/file.c (fix_string_encoding): fix target encoding. the @@ -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); |