Project

General

Profile

Actions

Feature #18901

closed

Support cross size pool movement for T_ARRAY

Added by eightbitraptor (Matthew Valentine-House) over 1 year ago. Updated over 1 year ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:109159]

Description

Github PR

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
Actions

Also available in: Atom PDF

Like0
Like0