summaryrefslogtreecommitdiff
path: root/shape.h
AgeCommit message (Expand)Author
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-02-23Remove unneeded RUBY_FUNC_EXPORTEDPeter Zhu
2023-12-04Use 32-bit integers for redblack_id_tPeter Zhu
2023-11-20Don't try compacting ivars on Classes that are "too complex"Aaron Patterson
2023-11-17Refactor rb_obj_evacuate_ivs_to_hash_tableJean Boussier
2023-11-13Revert "Revert "Remove SHAPE_CAPACITY_CHANGE shapes""Peter Zhu
2023-11-10Revert "Remove SHAPE_CAPACITY_CHANGE shapes"Peter Zhu
2023-11-09Remove SHAPE_CAPACITY_CHANGE shapesPeter Zhu
2023-11-08Refactor rb_shape_transition_shape_capa outJean Boussier
2023-11-03vm_getivar: assume the cached shape_id like have a common ancestorJean Boussier
2023-11-02Make every initial size pool shape a root shapePeter Zhu
2023-11-01remove_instance_variable: Handle running out of shapesJean Boussier
2023-10-26Move some defines from shape.h to shape.cJean Boussier
2023-10-24Remove SHAPE_MAX_NUM_IVSAaron Patterson
2023-10-24`get_next_shape_internal` should always return a shapeAaron Patterson
2023-10-24geniv objects can become too complexAaron Patterson
2023-10-24remove IV limit / support complex shapes on classesAaron Patterson
2023-10-24increase the maximum number of ivsAaron Patterson
2023-10-24Use a functional red-black tree for indexing the shapesAaron Patterson
2023-10-18Revert "shape.h: Make attr_index_t uint8_t"Katherine Oelsner
2023-10-11shape.h: Make attr_index_t uint8_tJean Boussier
2023-10-10Refactor rb_shape_transition_shape_capa to not accept capacityJean Boussier
2023-04-16Move shape ID to flags for classes on 32 bitPeter Zhu
2023-04-06Pull the shape tree out of the vm objectMatt Valentine-House
2023-03-24Adjust SHAPE_BUFFER_SIZE with shape_id_tNobuyoshi Nakada
2023-03-22Make shape functions staticAaron Patterson
2023-03-22Fix shape allocation limitsAaron Patterson
2023-03-20Use an st table for "too complex" objectsAaron Patterson
2023-03-06Stop exporting symbols for MJITTakashi Kokubun
2023-02-21Bump SHAPE_MAX_NUM_IVS to 80 (#7344)Takashi Kokubun
2023-02-06Limit maximum number of IVs on a shape on T_OBJECTSJemma Issroff
2023-01-30Remove dead code in shapes.c and shapes.hPeter Zhu
2023-01-26Revert "Limit maximum number of IVs on a shape"Aaron Patterson
2023-01-25Limit maximum number of IVs on a shapeJemma Issroff
2023-01-06Remove unused function `rb_shape_flags_mask`Jemma Issroff
2022-12-23MJIT: Export fewer shape functions (#7007)Takashi Kokubun
2022-12-15Move definition of SIZE_POOL_COUNT back to gc.hPeter Zhu
2022-12-15Fix Object Movement allocation in GCMatt Valentine-House
2022-12-15Transition complex objects to "too complex" shapeJemma Issroff
2022-12-15Revert "Fix Object Movement allocation in GC"Peter Zhu
2022-12-15Fix Object Movement allocation in GCMatt Valentine-House
2022-12-08ObjectSpace.dump_all: dump shapes as wellJean Boussier
2022-12-07Stop transitioning to UNDEF when undefining an instance variableAaron Patterson
2022-12-02Remove unused rb_shape_flag_shift and rb_shape_flag_maskJemma Issroff
2022-12-02Extracted rb_shape_id_offsetJemma Issroff
2022-12-02implement IV writesAaron Patterson
2022-12-02Use consistent style [ci skip]Nobuyoshi Nakada
2022-11-21Let SHAPE_BITS take 32 bits on debug buildsPeter Zhu
2022-11-1832 bit comparison on shape idAaron Patterson