Activity log for bug #1889456

Date Who What changed Old value New value Message
2020-07-29 17:42:52 Wilfredo Velázquez-Rodríguez bug added bug
2020-07-29 18:00:32 Stas Boukarev sbcl: status New Invalid
2020-07-29 21:39:26 Stas Boukarev sbcl: status Invalid Confirmed
2020-07-29 21:39:59 Stas Boukarev summary Disassembly of generic functions not comment lambda list Disassembly of long lambda-lists not line-wrapped correctly
2020-07-29 21:40:32 Stas Boukarev description cl:disassemble on SBCL generally comments out each of its lines of output with a single semi-colon as in: * (defun foo ()) FOO * (disassemble #'foo) ; disassembly for FOO ; Size: 28 bytes. Origin: #x10026B0073 ; FOO ; 73: 498B4510 MOV RAX, [R13+16] ; thread.binding-stack-pointer ; 77: 488945F8 MOV [RBP-8], RAX ; 7B: 840425F8FF1020 TEST AL, [#x2010FFF8] ; safepoint ; 82: BA17001120 MOV EDX, #x20110017 ; NIL ; 87: 488BE5 MOV RSP, RBP ; 8A: F8 CLC ; 8B: 5D POP RBP ; 8C: C3 RET ; 8D: CC10 INT3 16 ; Invalid argument count trap NIL However, it seems to behave differently for generic functions: * (defgeneric bar ()) #<STANDARD-GENERIC-FUNCTION COMMON-LISP-USER::BAR (0)> * (disassemble #'bar) ; disassembly for BAR ; Size: 70 bytes. Origin: #x10000EB857 ; (LAMBDA ( &REST SB-PCL::ARGS) :IN SB-PCL::MAKE-INITIAL-DFUN) ; 57: 840425F8FF1020 TEST AL, [#x2010FFF8] ; safepoint ; 5E: 498BFE MOV RDI, R14 ; 61: 488B0550FCFFFF MOV RAX, [RIP-944] ; #<SB-KERNEL:FDEFN SB-PCL::INITIAL-DFUN> ; 68: B904000000 MOV ECX, 4 ; 6D: FF7508 PUSH QWORD PTR [RBP+8] ; 70: FF6009 JMP QWORD PTR [RAX+9] ; 73: CC10 INT3 16 ; Invalid argument count trap ; 75: 6A20 PUSH 32 ; 77: FF142530000020 CALL QWORD PTR [#x20000030] ; ALLOC-TRAMP-R11 ; 7E: E996FCFFFF JMP #x10000EB519 ; 83: CC1C INT3 28 ; UNBOUND-SYMBOL-ERROR ; 85: 30 BYTE #X30 ; R12 ; 86: CC25 INT3 37 ; INVALID-ARRAY-INDEX-ERROR ; 88: 30 BYTE #X30 ; R12 ; 89: 39 BYTE #X39 ; R14 ; 8A: AA808010 BYTE #XAA, #X80, #X80, #X10 ; 10 ; 8E: 4D2B6568 SUB R12, [R13+104] ; thread.alloc-region ; 92: 4154 PUSH R12 ; 94: FF142530000020 CALL QWORD PTR [#x20000030] ; ALLOC-TRAMP-R11 ; 9B: EB83 JMP #x10000EB820 NIL Presumably this is not intentional (let ((*print-right-margin* 30)) (disassemble (lambda (&rest args) args))) ; disassembly for (LAMBDA ( &REST ARGS)) ; Size: 29 bytes. Origin: #x228ED9B5 ; (LAMBDA ( &REST ARGS)) ; B5: 498B4510 MOV RAX, [R13+16] ; thread.binding-stack-pointer ; B9: 488945E8 MOV [RBP-24], RAX ; BD: 488BE5 MOV RSP, RBP ; C0: F8 CLC ; C1: 5D POP RBP ; C2: C3 RET ; C3: CC10 INT3 16 ; Invalid argument count trap ; C5: 4C29DF SUB RDI, R11 ; C8: 57 PUSH RDI ; C9: FF14255000A021 CALL QWORD PTR [#x21A00050] ; CONS->R11 ; D0: EBB1 JMP #x228ED983 ; #<FUNCTION (LAMBDA ; ( ..))> No ; for each line