Source/Packages

Runtime.NativePhysicalNative

packages/execution/src/Runtime/NativePhysicalNative.alpha

3,650 lines210 declarations198.6 KiBSHA-256 028b70105699

def · lines 2522–2531

npScratchInto

Full file
The scratch follows the result slots: [+0] repeat iteration, [+8] count, [+16] first body record, [+24] body record count, [+32] a timespec (seconds, nanoseconds) for the fence wait's nanosleep. Nested programs add a depth word and the exact command-tree maximum number of saved frames. The scratch address is rbx + 8 * resultSlots, computed into the register.
2522def npScratchInto =
2523  (lambda unrestricted register : (family X86NativeRegister64) .
2524    (lambda unrestricted tail : (family X86NativeAssembly) .
2525      (npLoad64
2526        register
2527        npR15
2528        (npD (byte 32))
2529        (nativePhysicalNativeEmit
2530          (nativePhysicalNativeShiftLeft register (nativePhysicalNativeImmediate8 (byte 3)))
2531          (npAdd register npRBX 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.