summaryrefslogtreecommitdiff
path: root/shape.c
AgeCommit message (Expand)Author
3 daysStop pinning shape edgesJean Boussier
3 daysSimplify `rb_gc_rebuild_shape`Jean Boussier
3 daysGet rid of rb_shape_t.heap_idJean Boussier
3 daysGet rid of SHAPE_T_OBJECTJean Boussier
3 daysshape.c: assert we're not returning INVALID_SHAPE_ID.Jean Boussier
3 daysshape.c: ensure heap_index is consistent for complex shapesJean Boussier
3 daysReplicate `heap_index` in shape_id flags.Jean Boussier
3 daysAdd missing lock around `redblack_cache_ancestors`Jean Boussier
4 daysshape.c: match capacity growth with T_OBJECT embedded sizesJean Boussier
4 daysshape.c: Fix improperly named routineJean Boussier
4 daysRefactor raw accesses to rb_shape_t.capacityJean Boussier
5 daysFix comment about debugging shapesÉtienne Barrié
5 daysGet rid of `rb_shape_t.flags`Jean Boussier
6 daysGet rid of TOO_COMPLEX shape typeJean Boussier
6 daysshape.c: fix off by one error in `shape_tree_mark`Jean Boussier
6 daysGet rid of frozen shapes.Jean Boussier
8 daysPin shape->edgesJean Boussier
8 daysshape.c: Implement a lock-free version of get_next_shape_internalJean Boussier
14 daysRename `rb_shape_frozen_shape_p` -> `shape_frozen_p`Jean Boussier
14 daysRefactor `rb_shape_too_complex_p` to take a `shape_id_t`.Jean Boussier
14 daysRefactor `rb_shape_has_object_id`Jean Boussier
14 daysRefactor `rb_obj_shape` out.Jean Boussier
14 daysGet rid of rb_shape_set_shapeJean Boussier
14 daysRefactor `rb_shape_get_iv_index` to take a `shape_id_t`Jean Boussier
14 daysGet rid of `rb_shape_id(rb_shape_t *)`Jean Boussier
14 daysRefactor `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-25Use RB_VM_LOCKINGNobuyoshi Nakada
2025-05-23Refactor `rb_shape_transition_remove_ivar`Jean Boussier
2025-05-13variable.c: Refactor rb_obj_field_* to take shape_id_tJean Boussier
2025-05-11Allow T_CLASS and generic types to be too_complexJean Boussier
2025-05-11namespace on readSatoshi Tagomori
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
2025-05-09Refactor `rb_shape_transition_frozen` to return a `shape_id`.Jean Boussier
2025-05-09Rename `rb_shape_get_shape_by_id` -> `RSHAPE`Jean Boussier
2025-05-09Refactor `rb_shape_get_next_iv_shape` to take and return ids.Jean Boussier
2025-05-09Refactor `rb_shape_depth` to take an ID rather than a pointer.Jean Boussier
2025-05-09Refactor `rb_shape_traverse_from_new_root` to not expose `rb_shape_t`Jean Boussier
2025-05-09Extract `rb_shape_free_all`Jean Boussier
2025-05-08Fix `remove_instance_variable` on complex objectsJean Boussier
2025-05-08Move `object_id` in object fields.Jean Boussier