diff options
Diffstat (limited to 'src/gc.c')
| -rw-r--r-- | src/gc.c | 40 |
1 files changed, 40 insertions, 0 deletions
@@ -934,6 +934,11 @@ test_mrb_field_write_barrier(void) mrb_state *mrb = mrb_open(); struct RBasic *obj, *value; + if (mrb == NULL) { + fprintf(stderr, "Invalid mrb_state, exiting test_mrb_field_write_barrier"); + return; + } + puts("test_mrb_field_write_barrier"); obj = RBASIC(mrb_ary_new(mrb)); value = RBASIC(mrb_str_new_cstr(mrb, "value")); @@ -997,6 +1002,11 @@ test_mrb_write_barrier(void) mrb_state *mrb = mrb_open(); struct RBasic *obj; + if (mrb == NULL) { + fprintf(stderr, "Invalid mrb_state, exiting test_mrb_write_barrier"); + return; + } + puts("test_mrb_write_barrier"); obj = RBASIC(mrb_ary_new(mrb)); paint_black(obj); @@ -1024,6 +1034,11 @@ test_add_gray_list(void) mrb_state *mrb = mrb_open(); struct RBasic *obj1, *obj2; + if (mrb == NULL) { + fprintf(stderr, "Invalid mrb_state, exiting test_add_gray_list"); + return; + } + puts("test_add_gray_list"); gc_assert(mrb->gray_list == NULL); obj1 = RBASIC(mrb_str_new_cstr(mrb, "test")); @@ -1048,6 +1063,11 @@ test_gc_gray_mark(void) struct RBasic *obj; size_t gray_num = 0; + if (mrb == NULL) { + fprintf(stderr, "Invalid mrb_state, exiting test_gc_gray_mark"); + return; + } + puts("test_gc_gray_mark"); puts(" in MRB_TT_CLASS"); @@ -1079,6 +1099,11 @@ test_incremental_gc(void) RVALUE *free; struct heap_page *page; + if (mrb == NULL) { + fprintf(stderr, "Invalid mrb_state, exiting test_incremental_gc"); + return; + } + puts("test_incremental_gc"); mrb_garbage_collect(mrb); @@ -1135,6 +1160,11 @@ test_incremental_sweep_phase(void) { mrb_state *mrb = mrb_open(); + if (mrb == NULL) { + fprintf(stderr, "Invalid mrb_state, exiting test_incremental_sweep_phase"); + return; + } + puts("test_incremental_sweep_phase"); add_heap(mrb); @@ -1158,6 +1188,11 @@ test_gc_api(void) mrb_value argv[1]; + if (mrb == NULL) { + fprintf(stderr, "Invalid mrb_state, exiting test_gc_api"); + return; + } + puts("test_gc_api"); gc_start(mrb, mrb_nil_value()); @@ -1191,6 +1226,11 @@ test_many_object_benchmark(void) mrb_value ary = mrb_ary_new(mrb); int save_point = mrb_gc_arena_save(mrb); + if (mrb == NULL) { + fprintf(stderr, "Invalid mrb_state, test_many_object_benchmark"); + return; + } + puts("test_many_object_benchmark"); for (i=0; i<1000; i++) { |
