startMovableGroup

fun startMovableGroup(key: Int, dataKey: Any?)

Inserts a "Movable Group" starting marker in the slot table at the current execution position. A Movable Group is a group which can be moved or reordered between its siblings and retain slot table state, in addition to being removed or inserted. Movable Groups are more expensive than other groups because when they are encountered with a mismatched key in the slot table, they must be held on to temporarily until the entire parent group finishes execution in case it moved to a later position in the group. Movable groups are only inserted by the compiler as a result of calls to key.

A call to startMovableGroup must be matched with a corresponding call to endMovableGroup.

Warning: This is expected to be executed by the compiler only and should not be called directly from source code. Call this API at your own risk.

See also

Parameters

dataKey

Additional identifying information to compound with key. If there are multiple values, this is expected to be compounded together with joinKey. Whatever value is passed in here is expected to have a meaningful equals and hashCode implementation.

key

The source-location-based key for the group. Expected to be unique among its siblings.

fun startMovableGroup(key: Int, dataKey: Any?, sourceInformation: String?)