summaryrefslogtreecommitdiff
path: root/shape.c
AgeCommit message (Expand)Author
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
2025-05-08shape.c: refactor frozen shape to no longer be finalJean Boussier
2025-05-08Refactor OBJ_TOO_COMPLEX_SHAPE_ID to not be referenced outside shape.hJean Boussier
2025-05-08Rename `ivptr` -> `fields`, `next_iv_index` -> `next_field_index`Jean Boussier
2025-05-05Improve style consistency of `rb_shape_t *`Jean Boussier
2025-04-30get_next_shape_internal: Skip VM lock for single child caseJean Boussier
2025-04-30Improve syntax style consistency in shape.c and shape.hJean Boussier
2024-12-24[DOC] Hide `RubyVM::Shape` that is for debug from RDoc totallyNobuyoshi Nakada
2024-11-21Annotate anonymous mmapKunshan Wang
2024-10-03Rename size_pool -> heapMatt Valentine-House
2024-08-16Parenthesize macro argumentsNobuyoshi Nakada
2024-08-16Simplify and clarify bitmask calculationNobuyoshi Nakada
2024-08-16Fix some warningsRaed Rizqie
2024-06-04Do not emit shape transition warnings when YJIT is compilingJean Boussier
2024-05-09`redblack_cache_ancestors` is enabled only when `mmap` is availableNobuyoshi Nakada
2024-04-25Use xcalloc for allocating shape treePeter Zhu
2024-04-24Add ruby_mimcallocPeter Zhu
2024-03-30If we have a shape cache we should use itAaron Patterson
2024-03-13Remove unused size_pool_edge_namesPeter Zhu
2024-03-13Don't allow SHAPE_T_OBJECT in rb_shape_alloc_new_childPeter Zhu
2024-03-13Make special const and too complex shapes before T_OBJECT shapesPeter Zhu
2024-03-13Don't create per size pool shapes for non-T_OBJECTPeter Zhu
2024-03-13Don't directly read the SIZE_POOL_COUNT in shapesPeter Zhu
2024-02-23Remove unneeded RUBY_FUNC_EXPORTEDPeter Zhu
2024-01-12Handle mmap failures for redblack tree cacheAaron Patterson
2023-12-20Fix a grammar issue in the shape performance warning messageJean Boussier
2023-12-18Use #initialize instead of `initialize` in shape perf warningJean Boussier
2023-12-18[DOC] No document for internal or debug methodsNobuyoshi Nakada
2023-12-18Make the SHAPE_TOO_COMPLEX performance warning more actionableJean Boussier
2023-12-06Re-embed when removing Object instance variablesPeter Zhu
2023-12-06Deduplicate assertions in redblack_balancePeter Zhu
2023-12-05Fix alphabetical order of include in shape.cPeter Zhu
2023-12-01Add assertions for shape cache grandchild nodesPeter Zhu