CL-USER> (disassemble (lambda (x) (declare (type (unsigned-byte 8) x)) (make-array 3 :element-type '(unsigned-byte 8) :initial-contents (list x x x)))) ; disassembly for (LAMBDA (X)) ; Size: 98 bytes. Origin: #x536D9C67 ; 67: 498B4540 MOV RAX, [R13+64] ; no-arg-parsing entry point ; thread.binding-stack-pointer ; 6B: 488945F8 MOV [RBP-8], RAX ; 6F: 49896D58 MOV [R13+88], RBP ; thread.pseudo-atomic-bits ; 73: 498B5D20 MOV RBX, [R13+32] ; thread.alloc-region ; 77: 4C8D5B20 LEA R11, [RBX+32] ; 7B: 4D3B5D28 CMP R11, [R13+40] ; 7F: 773C JNBE L2 ; 81: 4D895D20 MOV [R13+32], R11 ; thread.alloc-region ; 85: L0: C60391 MOV BYTE PTR [RBX], -111 ; 88: C6430806 MOV BYTE PTR [RBX+8], 6 ; 8C: 80CB0F OR BL, 15 ; 8F: 49316D58 XOR [R13+88], RBP ; thread.pseudo-atomic-bits ; 93: 7402 JEQ L1 ; 95: CC09 BREAK 9 ; pending interrupt trap ; 97: L1: 488BC2 MOV RAX, RDX ; 9A: 48D1F8 SAR RAX, 1 ; 9D: 884301 MOV [RBX+1], AL ; A0: 488BC2 MOV RAX, RDX ; A3: 48D1F8 SAR RAX, 1 ; A6: 884302 MOV [RBX+2], AL ; A9: 488BC2 MOV RAX, RDX ; AC: 48D1F8 SAR RAX, 1 ; AF: 884303 MOV [RBX+3], AL ; B2: 488BD3 MOV RDX, RBX ; B5: 488BE5 MOV RSP, RBP ; B8: F8 CLC ; B9: 5D POP RBP ; BA: C3 RET ; BB: CC0F BREAK 15 ; Invalid argument count trap ; BD: L2: 6A20 PUSH 32 ; BF: FF142520001052 CALL QWORD PTR [#x52100020] ; ALLOC-TRAMP ; C6: 5B POP RBX ; C7: EBBC JMP L0