Source/Packages

Runtime.NativeLaunchRecipeLoad

packages/execution/src/Runtime/NativeLaunchRecipeLoad.alpha

228 lines16 declarations11.9 KiBSHA-256 b9d848b14a5f

def · lines 189–228

nativeLaunchRecipeLoadOperands

Full file
The same load with the recipe's offset and extent as operands: the words a host read from its own manifest at run time, so the host program needs no build-time knowledge of where the linker put the recipe.
189def nativeLaunchRecipeLoadOperands =
190  (lambda unrestricted executable : (family NativePhysicalOperand) .
191    (lambda unrestricted stagingAddress : Nat .
192      (lambda unrestricted recipeOffset : (family NativePhysicalOperand) .
193        (lambda unrestricted recipeExtent : (family NativePhysicalOperand) .
194          (lambda unrestricted destination : Nat .
195            (lambda unrestricted tableExtent : Nat .
196              (lambda unrestricted resultSlot : Nat .
197                (lambda unrestricted errorIdentity : Bytes .
198                  (lambda unrestricted tail : (family NativePhysicalCommands) .
199                    (nativeLaunchRecipeCommand
200                      (constructor NativePhysicalOperation NativePhysicalSystemCall
201                        (nativeLaunchRecipeImmediate 17)
202                        (nativeLaunchRecipeArguments
203                          executable
204                          (nativeLaunchRecipeImmediate stagingAddress)
205                          recipeExtent
206                          recipeOffset)
207                        b""
208                        (nativeLaunchRecipeStore resultSlot))
209                      errorIdentity
210                      (nativeLaunchRecipeAssertEqual
211                        (nativeLaunchRecipeSlotValue resultSlot)
212                        recipeExtent
213                        errorIdentity
214                        (nativeLaunchRecipeCommand
215                          (constructor NativePhysicalOperation NativePhysicalMachineRoutine
216                            nativeLaunchRecipeRoutineBytes
217                            (nativeLaunchRecipeArguments
218                              (nativeLaunchRecipeImmediate stagingAddress)
219                              recipeExtent
220                              (nativeLaunchRecipeImmediate destination)
221                              (nativeLaunchRecipeImmediate tableExtent))
222                            (nativeLaunchRecipeStore resultSlot))
223                          errorIdentity
224                          (nativeLaunchRecipeAssertEqual
225                            (nativeLaunchRecipeSlotValue resultSlot)
226                            (nativeLaunchRecipeImmediate tableExtent)
227                            errorIdentity
228                            tail)))))))))))))

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.