One encoded word in front of the tail's result; the first refusal wins.
255def aarch64PrependWord =
256 (lambda unrestricted name : Bytes .
257 (lambda unrestricted word : (family AArch64EncodeResult) .
258 (lambda unrestricted tailResult : (family AArch64AssemblyResult) .
259 (eliminate
260 AArch64EncodeResult
261 (lambda unrestricted current : (family AArch64EncodeResult) .
262 (family AArch64AssemblyResult))
263 word
264 (branch
265 AArch64Encoded
266 encoded
267 .
268 (eliminate
269 AArch64AssemblyResult
270 (lambda unrestricted current : (family AArch64AssemblyResult) .
271 (family AArch64AssemblyResult))
272 tailResult
273 (branch
274 AArch64AssemblyEncoded
275 tailBytes
276 .
277 (constructor
278 AArch64AssemblyResult
279 AArch64AssemblyEncoded
280 (bytes-append encoded tailBytes)))
281 (branch
282 AArch64AssemblyEncodeDuplicateLabel
283 duplicate
284 .
285 (constructor AArch64AssemblyResult AArch64AssemblyEncodeDuplicateLabel duplicate))
286 (branch
287 AArch64AssemblyMissingLabel
288 missing
289 .
290 (constructor AArch64AssemblyResult AArch64AssemblyMissingLabel missing))
291 (branch
292 AArch64AssemblyDisplacementOutOfRange
293 label
294 .
295 (constructor AArch64AssemblyResult AArch64AssemblyDisplacementOutOfRange label))
296 (branch
297 AArch64AssemblyOperandRefused
298 value
299 .
300 (constructor AArch64AssemblyResult AArch64AssemblyOperandRefused value))))
301 (branch
302 AArch64ImmediateOutOfRange
303 value
304 .
305 (constructor AArch64AssemblyResult AArch64AssemblyOperandRefused value))
306 (branch
307 AArch64MisalignedOffset
308 value
309 .
310 (constructor AArch64AssemblyResult AArch64AssemblyDisplacementOutOfRange name))
311 (branch
312 AArch64DisplacementOutOfRange
313 value
314 .
315 (constructor AArch64AssemblyResult AArch64AssemblyDisplacementOutOfRange name))))))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.