summaryrefslogtreecommitdiffhomepage
path: root/src/gc.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-07-18 23:26:36 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-07-18 23:26:36 +0900
commit329938ef159d54523cb36aa7069abb7c35ec77d8 (patch)
tree0583d625bed5367ded4bb289cf586218d3424060 /src/gc.c
parent52aafcd001095470ac1c397bdf83ce10e919c753 (diff)
downloadmruby-329938ef159d54523cb36aa7069abb7c35ec77d8.tar.gz
mruby-329938ef159d54523cb36aa7069abb7c35ec77d8.zip
Simplify `mrb_gc_arena_restore()` to reduce overhead.
It will no longer shrink arena region. Instead `vm.c` uses a static function `mrb_gc_arena_shrink()` to shrink.
Diffstat (limited to 'src/gc.c')
-rw-r--r--src/gc.c28
1 files changed, 0 insertions, 28 deletions
diff --git a/src/gc.c b/src/gc.c
index 8199058f7..cad2a0a53 100644
--- a/src/gc.c
+++ b/src/gc.c
@@ -1243,34 +1243,6 @@ mrb_garbage_collect(mrb_state *mrb)
mrb_full_gc(mrb);
}
-MRB_API int
-mrb_gc_arena_save(mrb_state *mrb)
-{
- return mrb->gc.arena_idx;
-}
-
-MRB_API void
-mrb_gc_arena_restore(mrb_state *mrb, int idx)
-{
- mrb_gc *gc = &mrb->gc;
-
-#ifndef MRB_GC_FIXED_ARENA
- int capa = gc->arena_capa;
-
- if (idx < capa / 4) {
- capa >>= 2;
- if (capa < MRB_GC_ARENA_SIZE) {
- capa = MRB_GC_ARENA_SIZE;
- }
- if (capa != gc->arena_capa) {
- gc->arena = (struct RBasic**)mrb_realloc(mrb, gc->arena, sizeof(struct RBasic*)*capa);
- gc->arena_capa = capa;
- }
- }
-#endif
- gc->arena_idx = idx;
-}
-
/*
* Field write barrier
* Paint obj(Black) -> value(White) to obj(Black) -> value(Gray).