From: "eightbitraptor (Matthew Valentine-House)" Date: 2022-07-07T13:23:50+00:00 Subject: [ruby-core:109159] [Ruby master Feature#18901] Support cross size pool movement for T_ARRAY Issue #18901 has been reported by eightbitraptor (Matthew Valentine-House). ---------------------------------------- Feature #18901: Support cross size pool movement for T_ARRAY https://bugs.ruby-lang.org/issues/18901 * Author: eightbitraptor (Matthew Valentine-House) * Status: Open * Priority: Normal ---------------------------------------- [Github PR](https://github.com/ruby/ruby/pull/6099) This PR enables Arrays to move between size pools during compaction. This can occur if the array is mutated such that it would fit in a different size pool when embedded. It uses the mechanics implemented in [#18819] The move is carried out in two stages: - The RVALUE is moved to a destination heap during object movement phase of compaction - The array data is re-embedded and the original buffer free'd if required. This happens during the update references step -- https://bugs.ruby-lang.org/ Unsubscribe: