diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-11-19 12:19:46 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-11-19 12:19:46 +0900 |
| commit | 6a9efd68491a4340d990dedfd22de46ea2b3db45 (patch) | |
| tree | 7610fb9fb45dc2545bbfe40b2a95e6e4088b7818 /src | |
| parent | 9b2454c94dd12ead5e3d3c724da61b05c2e54fd8 (diff) | |
| download | mruby-6a9efd68491a4340d990dedfd22de46ea2b3db45.tar.gz mruby-6a9efd68491a4340d990dedfd22de46ea2b3db45.zip | |
Invoke `mrb_full_gc()` before `ObjectSpace.count_objects`.
Diffstat (limited to 'src')
| -rw-r--r-- | src/gc.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -177,7 +177,7 @@ gettimeofday_time(void) #define GC_STEP_SIZE 1024 -/* white: 011, black: 100, gray: 000 */ +/* white: 001 or 010, black: 100, gray: 000 */ #define GC_GRAY 0 #define GC_WHITE_A 1 #define GC_WHITE_B (1 << 1) @@ -1494,7 +1494,6 @@ gc_each_objects(mrb_state *mrb, mrb_gc *gc, mrb_each_object_callback *callback, { mrb_heap_page* page; - mrb_full_gc(mrb); page = gc->heaps; while (page != NULL) { RVALUE *p; @@ -1514,6 +1513,7 @@ mrb_objspace_each_objects(mrb_state *mrb, mrb_each_object_callback *callback, vo { mrb_bool iterating = mrb->gc.iterating; + mrb_full_gc(mrb); mrb->gc.iterating = TRUE; if (iterating) { gc_each_objects(mrb, &mrb->gc, callback, data); |
