SplitPositions

internal struct SplitPositions

The positions at which a sequence of instructions is split.

An instance defines three contiguous regions of instructions:

  • the “front”, at positions in the range ..<splitPoint
  • the “epilogue”, at positions in the range splitPoint ..< epilogueEnd
  • the “back”, at positions in the range epilogueEnd...

If we strictly consider the ordering of instructions, a split point divides an array of instructions into two parts:

  • the instructions at indices < splitPoint – the “front”
  • the instructions at indices > splitPoint – the “back”

There are also instructions that are logically part of the front, even though they appear after the split point. These are the “epilogue” instructions for a split point. The epilogueEnd index indicates where the epilogue ends and the back begins.

Invariant: splitPoint < epilogueEnd

  • The index of the instruction at which the split occurs.

    Declaration

    Swift

    internal let splitPoint: Int
  • The index of the first instruction that is not part of the epilogue.

    Declaration

    Swift

    internal let epilogueEnd: Int