summaryrefslogtreecommitdiff
path: root/vm.c
diff options
context:
space:
mode:
authorJean Boussier <[email protected]>2025-05-08 17:38:39 +0200
committerJean Boussier <[email protected]>2025-05-09 10:22:51 +0200
commit7116b0a7f1398f18346ad6f9ba805e3877d45944 ()
tree32110f3153bcd01121b5c437ff9a87f7889f3ee8 /vm.c
parent30ef0f180b396314521d1309e7732ce921cd2fab (diff)
Extract `rb_shape_free_all`
Notes: Merged: https://.com/ruby/ruby/pull/13283
-rw-r--r--vm.c11
1 files changed, 1 insertions, 10 deletions
@@ -3115,16 +3115,7 @@ ruby_vm_destruct(rb_vm_t *vm)
rb_id_table_free(RCLASS(rb_mRubyVMFrozenCore)->m_tbl);
- rb_shape_t *cursor = rb_shape_get_root_shape();
- rb_shape_t *end = rb_shape_get_shape_by_id(GET_SHAPE_TREE()->next_shape_id);
- while (cursor < end) {
- // 0x1 == SINGLE_CHILD_P
- if (cursor->edges && !(((uintptr_t)cursor->edges) & 0x1))
- rb_id_table_free(cursor->edges);
- cursor += 1;
- }
-
- xfree(GET_SHAPE_TREE());
st_free_table(vm->static_ext_inits);