summaryrefslogtreecommitdiff
path: root/shape.h
AgeCommit message (Expand)Author
5 daysRename `imemo_class_fields` -> `imemo_fields`Jean Boussier
9 daysUse the `shape_id` rather than `FL_EXIVAR`Jean Boussier
9 daysEnforce consistency between shape_id and FL_EXIVARJean Boussier
9 daysAdd SHAPE_ID_HAS_IVAR_MASK for quick ivar checkJean Boussier
10 daysshape.c: cleanup unused IDsJean Boussier
10 daysAllocate `rb_shape_tree` staticallyJean Boussier
10 daysGet rid of GET_SHAPE_TREE()Jean Boussier
10 daysGet rid of `rb_shape_lookup`Jean Boussier
10 daysshape.h: make RSHAPE static inlineJean Boussier
11 daysTurn `rb_classext_t.fields` into a T_IMEMO/class_fieldsJean Boussier
11 daysRefactor the last references to `rb_shape_t`Jean Boussier
11 daysshape.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
2025-05-27Refactor `rb_shape_too_complex_p` to take a `shape_id_t`.Jean Boussier
2025-05-27Refactor `rb_shape_has_object_id`Jean Boussier
2025-05-27Refactor `rb_obj_shape` out.Jean Boussier
2025-05-27Get rid of rb_shape_set_shapeJean Boussier
2025-05-27Refactor `rb_shape_get_iv_index` to take a `shape_id_t`Jean Boussier
2025-05-27Get rid of `rb_shape_id(rb_shape_t *)`Jean Boussier
2025-05-27Get rid of `rb_shape_canonical_p`Jean Boussier
2025-05-27Refactor `rb_shape_rebuild_shape` to stop exposing `rb_shape_t`Jean Boussier
2025-05-26Add shape_id to RBasic under 32 bitJohn Hawthorn
2025-05-23Refactor `rb_shape_transition_remove_ivar`Jean Boussier
2025-05-15Ensure shape_id is never used on T_IMEMOJean Boussier
2025-05-13variable.c: Refactor rb_obj_field_* to take shape_id_tJean Boussier
2025-05-09Refactor `FIRST_T_OBJECT_SHAPE_ID` to not be used outside `shape.c`Jean Boussier
2025-05-09Rename `RB_OBJ_SHAPE` -> `rb_obj_shape`Jean Boussier
2025-05-09Stop exposing rb_shape_frozen_shape_pJean Boussier
2025-05-09Get rid of `rb_shape_get_parent`.Jean Boussier
2025-05-09Rename `rb_shape_get_shape_id` -> `RB_OBJ_SHAPE_ID`Jean Boussier
2025-05-09Remove unused `rb_shape_object_id_index`Jean Boussier
2025-05-09Refactor `rb_shape_get_next` to return an IDJean Boussier
2025-05-09Refactor `rb_shape_transition_shape_remove_ivar` to not take a shape pointerJean Boussier
2025-05-09Rename `rb_shape_obj_too_complex` -> `rb_shape_obj_too_complex_p`Jean Boussier
2025-05-09Refactor `rb_shape_transition_too_complex` to return an ID.Jean Boussier