summaryrefslogtreecommitdiff
path: root/shape.h
AgeCommit message (Expand)Author
2025-12-05Revert "gc.c: Pass shape_id to `newobj_init`"Peter Zhu
2025-12-03YJIT: Pass class and shape ID directly instead of objectMax Bernstein
2025-12-03gc.c: Pass shape_id to `newobj_init`Jean Boussier
2025-12-03Rename `rb_obj_exivar_p` -> `rb_obj_gen_fields_p`Jean Boussier
2025-12-03Handle NEWOBJ tracepoints settings fieldsJean Boussier
2025-12-01Speedup RBASIC_FIELDS_COUNT (#15273)Luke Gruber
2025-11-26Eliminate redundant work and branching when marking T_OBJECT (#15274)Luke Gruber
2025-11-07renaming internal data structures and functions from namespace to boxSatoshi Tagomori
2025-10-21YJIT: ZJIT: Extract common bindings to jit.c and remove unnamed enums.Alan Wu
2025-08-29YJIT: getinstancevariable cache indexes for types other than T_OBJECTJean Boussier
2025-08-27Replace ROBJECT_EMBED by ROBJECT_HEAPJean Boussier
2025-08-26Ensure T_OBJECT and T_IMEMO/fields have identical layoutJean Boussier
2025-08-25Refactor rb_obj_ivar_set to delegate to obj_field_setJean Boussier
2025-08-25Get rid of rb_obj_set_shape_idJean Boussier
2025-08-21Remove unused SPECIAL_CONST_SHAPE_IDÉtienne Barrié
2025-07-31Get rid of RSHAPE_PARENT in favor of RSHAPE_DIRECT_CHILD_PJean Boussier
2025-07-16YJIT: Side-exit on String#dup when it's not leaf (#13921)Takashi Kokubun
2025-07-09Always use atomics to get the shape countJohn Hawthorn
2025-07-04Remove unused src param from rb_shape_copy_fieldsJohn Hawthorn
2025-06-26variable.c: Refactor `generic_field_set` / `generic_ivar_set`Jean Boussier
2025-06-24Cleanup and document `shape_id_t` layoutJean Boussier
2025-06-24Reduce exposure of FL_FREEZEJean Boussier
2025-06-17Rename `imemo_class_fields` -> `imemo_fields`Jean Boussier
2025-06-13Use the `shape_id` rather than `FL_EXIVAR`Jean Boussier
2025-06-13Enforce consistency between shape_id and FL_EXIVARJean Boussier
2025-06-13Add SHAPE_ID_HAS_IVAR_MASK for quick ivar checkJean Boussier
2025-06-13shape.c: cleanup unused IDsJean Boussier
2025-06-12Allocate `rb_shape_tree` staticallyJean Boussier
2025-06-12Get rid of GET_SHAPE_TREE()Jean Boussier
2025-06-12Get rid of `rb_shape_lookup`Jean Boussier
2025-06-12shape.h: make RSHAPE static inlineJean Boussier
2025-06-12Turn `rb_classext_t.fields` into a T_IMEMO/class_fieldsJean Boussier
2025-06-11Refactor the last references to `rb_shape_t`Jean Boussier
2025-06-11shape.h: remove YJIT workaroundJean Boussier
2025-06-07Simplify `rb_gc_rebuild_shape`Jean Boussier
2025-06-07Get rid of rb_shape_t.heap_idJean Boussier
2025-06-07Get rid of SHAPE_T_OBJECTJean Boussier
2025-06-07Remove EMBEDDED shape_id flagsJean Boussier
2025-06-07Leave the shape_id_t highest bit unused to avoid crashing YJITJean Boussier
2025-06-07Replicate `heap_index` in shape_id flags.Jean Boussier
2025-06-05Refactor raw accesses to rb_shape_t.capacityJean Boussier
2025-06-05Get rid of `rb_shape_t.flags`Jean Boussier
2025-06-04Get rid of TOO_COMPLEX shape typeJean Boussier
2025-06-04vm_getivar: normalize shape_id to ignore frozen stateJean Boussier
2025-06-04Get rid of frozen shapes.Jean Boussier
2025-06-03Use all 32bits of `shape_id_t` on all platformsJean Boussier
2025-06-02shape.c: Implement a lock-free version of get_next_shape_internalJean Boussier
2025-05-28Refactor attr_index_t cachesJean Boussier
2025-05-27Rename `rb_shape_id_canonical_p` -> `rb_shape_canonical_p`Jean Boussier
2025-05-27Rename `rb_shape_set_shape_id` in `rb_obj_set_shape_id`Jean Boussier