mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
Revert "Revert "This commit implements the Object Shapes technique in CRuby.""
This reverts commit 9a6803c90b
.
This commit is contained in:
parent
5ffbb2be18
commit
ad63b668e2
41 changed files with 2311 additions and 893 deletions
|
@ -37,6 +37,9 @@ static inline void ROBJ_TRANSIENT_SET(VALUE obj);
|
|||
static inline void ROBJ_TRANSIENT_UNSET(VALUE obj);
|
||||
uint32_t rb_obj_ensure_iv_index_mapping(VALUE obj, ID id);
|
||||
|
||||
struct gen_ivtbl;
|
||||
int rb_gen_ivtbl_get(VALUE obj, ID id, struct gen_ivtbl **ivtbl);
|
||||
|
||||
RUBY_SYMBOL_EXPORT_BEGIN
|
||||
/* variable.c (export) */
|
||||
void rb_mark_generic_ivar(VALUE);
|
||||
|
@ -52,6 +55,8 @@ VALUE rb_gvar_set(ID, VALUE);
|
|||
VALUE rb_gvar_defined(ID);
|
||||
void rb_const_warn_if_deprecated(const rb_const_entry_t *, VALUE, ID);
|
||||
void rb_init_iv_list(VALUE obj);
|
||||
void rb_ensure_iv_list_size(VALUE obj, uint32_t len, uint32_t newsize);
|
||||
struct gen_ivtbl * rb_ensure_generic_iv_list_size(VALUE obj, uint32_t newsize);
|
||||
MJIT_SYMBOL_EXPORT_END
|
||||
|
||||
static inline bool
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue