Every frame and the local value slots of this role; `tail` continues the
caller's residents.
652def nativeCombineResidents =
653 (lambda unrestricted placement : (family NativeCombinePlacement) .
654 (lambda unrestricted tail : (family ArenaResidents) .
655 (stdListFold
656 (family RegionTransferIdentity)
657 (family ArenaResidents)
658 (lambda unrestricted identity : (family RegionTransferIdentity) .
659 (lambda unrestricted rest : (family ArenaResidents) .
660 (let unrestricted frame =
661 (nativeCombineFrame placement identity)
662 in
663 (constructor
664 ArenaResidents
665 ArenaResidentsNext
666 (constructor
667 ArenaResident
668 ArenaResidentValue
669 b"combine-frame"
670 (frameBase frame)
671 (naturalSaturatingSubtract (frameEnd frame) (frameBase frame))
672 8)
673 rest))))
674 (constructor
675 ArenaResidents
676 ArenaResidentsNext
677 (constructor
678 ArenaResident
679 ArenaResidentValue
680 b"combine-local-values"
681 (nativeCombineValuesAt placement)
682 (naturalSaturatingSubtract
683 (nativeCombineRegionEnd placement)
684 (nativeCombineValuesAt placement))
685 8)
686 tail)
687 (nativeCombinePayloads (nativeCombinePlacementContext placement)))))The compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.