summaryrefslogtreecommitdiff
path: root/shape.c
AgeCommit message (Expand)Author
2025-12-03YJIT: Pass class and shape ID directly instead of objectMax Bernstein
2025-12-03Move imemo fields check out of shape_get_nextMax Bernstein
2025-12-03Remove spurious obj != klass check in shape_get_nextMax Bernstein
2025-12-03Handle NEWOBJ tracepoints settings fieldsJean Boussier
2025-11-07renaming internal data structures and functions from namespace to boxSatoshi Tagomori
2025-08-28rb_ivar_delete: allow complex transitionJean 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-21Remove unused SPECIAL_CONST_SHAPE_IDÉtienne Barrié
2025-08-18Don't allow looking at the shape ID of immediates (#14266)Max Bernstein
2025-08-18Add missing writebarrier on complex obj dupJohn Hawthorn
2025-08-13imemo_fields: store owner object in RBasic.klassJean Boussier
2025-08-07Convert `VM/shape_tree` to use `rb_gc_mark_and_move`Jean Boussier
2025-08-01Fix rb_shape_transition_object_id transition to TOO_COMPLEXJean Boussier
2025-07-09Avoid concurrently overflowing of shape_idJohn Hawthorn
2025-07-09Always use atomics to get the shape countJohn Hawthorn
2025-07-09Fix off-by-one in shape_tree_mark/shape_tree_compactJohn 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-25Move RUBY_ATOMIC_VALUE_LOAD to ruby_atomic.hPeter Zhu
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-15Fix typo in error message for shape_id verificationydah
2025-06-13Get rid of FL_EXIVARJean 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-13Suppress unused-variable warningNobuyoshi Nakada
2025-06-13Add SHAPE_ID_HAS_IVAR_MASK for quick ivar checkJean Boussier
2025-06-13Suppress unused-variable warningNobuyoshi Nakada
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-12Fix class instance variable inside namespacesJean 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.c: Fix rb_bug call to use correct format for size_tJean Boussier
2025-06-10Fix RubyVM::Shape.transition_treeÉtienne Barrié
2025-06-07Stop pinning shape edgesJean 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-07shape.c: assert we're not returning INVALID_SHAPE_ID.Jean Boussier
2025-06-07shape.c: ensure heap_index is consistent for complex shapesJean Boussier
2025-06-07Replicate `heap_index` in shape_id flags.Jean Boussier
2025-06-06Add missing lock around `redblack_cache_ancestors`Jean Boussier
2025-06-06shape.c: match capacity growth with T_OBJECT embedded sizesJean Boussier
2025-06-06shape.c: Fix improperly named routineJean Boussier