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.