ruby-changes:30966
From: nobu <ko1@a...>
Date: Thu, 26 Sep 2013 11:31:35 +0900 (JST)
Subject: [ruby-changes:30966] nobu:r43045 (trunk): gc.c: atomical add
nobu 2013-09-26 11:31:26 +0900 (Thu, 26 Sep 2013) New Revision: 43045 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=43045 Log: gc.c: atomical add * gc.c (gc_before_sweep, gc_after_sweep): add to increase2 atomically. * gc.c (gc_marks): adjust indent. Modified files: trunk/gc.c Index: gc.c =================================================================== --- gc.c (revision 43044) +++ gc.c (revision 43045) @@ -2362,7 +2362,7 @@ gc_before_sweep(rb_objspace_t *objspace) https://github.com/ruby/ruby/blob/trunk/gc.c#L2362 } objspace->freelist = NULL; - malloc_increase2 += ATOMIC_SIZE_EXCHANGE(malloc_increase,0); + ATOMIC_SIZE_ADD(malloc_increase2, ATOMIC_SIZE_EXCHANGE(malloc_increase, 0)); /* sweep unlinked method entries */ if (GET_VM()->unlinked_method_entry_list) { @@ -2394,8 +2394,7 @@ gc_after_sweep(rb_objspace_t *objspace) https://github.com/ruby/ruby/blob/trunk/gc.c#L2394 gc_prof_set_heap_info(objspace); inc = ATOMIC_SIZE_EXCHANGE(malloc_increase, 0); - inc += malloc_increase2; - malloc_increase2 = 0; + inc += ATOMIC_SIZE_EXCHANGE(malloc_increase2, 0); if (inc > malloc_limit) { malloc_limit += @@ -3670,10 +3669,10 @@ gc_marks(rb_objspace_t *objspace, int mi https://github.com/ruby/ruby/blob/trunk/gc.c#L3669 } #if RGENGC_PROFILE > 0 - if (gc_prof_record(objspace)) { - gc_profile_record *record = gc_prof_record(objspace); - record->oldgen_objects = objspace->rgengc.oldgen_object_count; - } + if (gc_prof_record(objspace)) { + gc_profile_record *record = gc_prof_record(objspace); + record->oldgen_objects = objspace->rgengc.oldgen_object_count; + } #endif #else /* USE_RGENGC */ -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/