|
26 | 26 | #include "internal/proc.h" |
27 | 27 | #include "internal/re.h" |
28 | 28 | #include "internal/ruby_parser.h" |
| 29 | +#include "internal/st.h" |
29 | 30 | #include "internal/symbol.h" |
30 | 31 | #include "internal/thread.h" |
31 | 32 | #include "internal/transcode.h" |
@@ -3332,7 +3333,7 @@ rb_vm_mark(void *ptr) |
3332 | 3333 | rb_hook_list_mark(&vm->global_hooks); |
3333 | 3334 |
|
3334 | 3335 | rb_id_table_foreach_values(&vm->negative_cme_table, vm_mark_negative_cme, NULL); |
3335 | | - rb_mark_tbl_no_pin(vm->overloaded_cme_table); |
| 3336 | + rb_mark_tbl_no_pin(&vm->overloaded_cme_table); |
3336 | 3337 | for (i=0; i<VM_GLOBAL_CC_CACHE_TABLE_SIZE; i++) { |
3337 | 3338 | const struct rb_callcache *cc = vm->global_cc_cache_table[i]; |
3338 | 3339 |
|
@@ -3387,7 +3388,7 @@ ruby_vm_destruct(rb_vm_t *vm) |
3387 | 3388 | rb_free_rb_global_tbl(); |
3388 | 3389 |
|
3389 | 3390 | rb_id_table_free_items(&vm->negative_cme_table); |
3390 | | - st_free_table(vm->overloaded_cme_table); |
| 3391 | + st_free_embedded_table(&vm->overloaded_cme_table); |
3391 | 3392 |
|
3392 | 3393 | // TODO: Is this ignorable for classext->m_tbl ? |
3393 | 3394 | // rb_id_table_free(RCLASS(rb_mRubyVMFrozenCore)->m_tbl); |
@@ -3507,7 +3508,7 @@ vm_memsize(const void *ptr) |
3507 | 3508 | rb_st_memsize(vm->ci_table) + |
3508 | 3509 | vm_memsize_builtin_function_table(vm->builtin_function_table) + |
3509 | 3510 | (rb_id_table_memsize(&vm->negative_cme_table) - sizeof(struct rb_id_table)) + |
3510 | | - rb_st_memsize(vm->overloaded_cme_table) + |
| 3511 | + (rb_st_memsize(&vm->overloaded_cme_table) - sizeof(struct st_table)) + |
3511 | 3512 | vm_memsize_constant_cache() |
3512 | 3513 | ); |
3513 | 3514 |
|
@@ -4584,7 +4585,7 @@ Init_BareVM(void) |
4584 | 4585 | ruby_current_vm_ptr = vm; |
4585 | 4586 | rb_objspace_alloc(); |
4586 | 4587 | rb_id_table_init(&vm->negative_cme_table, 16); |
4587 | | - vm->overloaded_cme_table = st_init_numtable(); |
| 4588 | + st_init_existing_numtable_with_size(&vm->overloaded_cme_table, 0); |
4588 | 4589 | vm->unused_block_warning_table = set_init_numtable(); |
4589 | 4590 | vm->global_hooks.type = hook_list_type_global; |
4590 | 4591 |
|
|
0 commit comments