diff options
author | Peter Zhu <[email protected]> | 2023-08-21 09:13:36 -0400 |
---|---|---|
committer | Peter Zhu <[email protected]> | 2023-08-21 09:13:36 -0400 |
commit | 196116e576f7349c9efb51fb1fb265f7f8bb24b5 () | |
tree | bab14f3a5e58d29a1560b4214ad6a87aa08d5acc /variable.c | |
parent | 8326bf1a215f93a2d1a14eeae2052bba1c2077c3 (diff) |
Refactor rb_ensure_iv_list_size
We don't really need obj_ivar_heap_alloc and obj_ivar_heap_realloc since they're just one liners.
-rw-r--r-- | variable.c | 22 |
1 files changed, 3 insertions, 19 deletions
@@ -1395,36 +1395,20 @@ generic_ivar_set(VALUE obj, ID id, VALUE val) } } -static VALUE * -obj_ivar_heap_alloc(VALUE obj, size_t newsize) -{ - return ALLOC_N(VALUE, newsize); -} - -static VALUE * -obj_ivar_heap_realloc(VALUE obj, int32_t len, size_t newsize) -{ - REALLOC_N(ROBJECT(obj)->as.heap.ivptr, VALUE, newsize); - VALUE *newptr = ROBJECT(obj)->as.heap.ivptr; - - return newptr; -} - void rb_ensure_iv_list_size(VALUE obj, uint32_t current_capacity, uint32_t new_capacity) { RUBY_ASSERT(!rb_shape_obj_too_complex(obj)); - VALUE *ptr = ROBJECT_IVPTR(obj); - VALUE *newptr; if (RBASIC(obj)->flags & ROBJECT_EMBED) { - newptr = obj_ivar_heap_alloc(obj, new_capacity); MEMCPY(newptr, ptr, VALUE, current_capacity); RB_FL_UNSET_RAW(obj, ROBJECT_EMBED); ROBJECT(obj)->as.heap.ivptr = newptr; } else { - newptr = obj_ivar_heap_realloc(obj, current_capacity, new_capacity); } } |