aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gc.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/gc.c b/gc.c
index d9fc573535..40dd037da7 100644
--- a/gc.c
+++ b/gc.c
@@ -2362,7 +2362,7 @@ gc_before_sweep(rb_objspace_t *objspace)
}
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)
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 minor_gc)
}
#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 */