Source/Packages

Runtime.WordDigest

packages/execution/src/Runtime/WordDigest.alpha

1,248 lines82 declarations55.1 KiBSHA-256 16e881f3c8a0

def · lines 260–261

byteDigestPaddingBytes

Full file
Runtime byte-string padding before the shared block compressor. The logical input/count/output/work roles are RDI/RSI/RDX/R9. The caller supplies a writable input followed by byteDigestPaddingBytes, and disjoint output/work regions. Null and negative Linux pointers, and counts above u32, refuse before writes. totalBytes names the original byte count register: RSI for a whole string, R8 for a stream tail. Its caller admits that total and the stream partition. Only RAX, RCX, RSI and caller-saved R10 change before the block routine saves its registers. RBX and the emitter's interpreter registers must survive. The refusal label belongs to the target entry wrapper; success falls through into its block routine. Both host ISAs specialize this one padding algorithm.
260def byteDigestPaddingBytes : Nat =
261  (naturalMultiply 2 digestBlockBytes)

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.