summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/gc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gc.c b/src/gc.c
index 134b818ee..8199058f7 100644
--- a/src/gc.c
+++ b/src/gc.c
@@ -1257,8 +1257,8 @@ mrb_gc_arena_restore(mrb_state *mrb, int idx)
#ifndef MRB_GC_FIXED_ARENA
int capa = gc->arena_capa;
- if (idx < capa / 2) {
- capa = (int)(capa * 0.66);
+ if (idx < capa / 4) {
+ capa >>= 2;
if (capa < MRB_GC_ARENA_SIZE) {
capa = MRB_GC_ARENA_SIZE;
}