ccl: slime fails to disassemble a generic function
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Slime |
Invalid
|
Undecided
|
Unassigned |
Bug Description
;; This buffer is for notes you don't want to save, and for Lisp evaluation.
;; If you want to create a file, visit that file with C-x C-f,
;; then enter the text in that file's own buffer.
When launched from the shell, ccl can disassemble this generic function without a glitch:
? (in-package :ui)
#<Package "MCLGUI">
? (disassemble (function call-with-
L0
(leaq (@ (:^ L0) (% rip)) (% fn)) ; [0]
(movq (@ (% rsp)) (% temp2)) ; [7]
(movl (% nargs) (% imm0.l)) ; [11]
(subq ($ 24) (% imm0)) ; [13]
(jle L34) ; [17]
(movq (% rbp) (@ 8 (% rsp) (% imm0))) ; [19]
(leaq (@ 8 (% rsp) (% imm0)) (% rbp)) ; [24]
(popq (@ 8 (% rbp))) ; [29]
(jmp L38) ; [32]
L34
(pushq (% rbp)) ; [34]
(movq (% rsp) (% rbp)) ; [35]
L38
(testl (% nargs) (% nargs)) ; [38]
(je L53) ; [40]
(cmpl ($ 16) (% nargs)) ; [42]
(je L51) ; [45]
(jb L52) ; [47]
(pushq (% arg_x)) ; [49]
L51
(pushq (% arg_y)) ; [51]
L52
(pushq (% arg_z)) ; [52]
L53
(pushq (% imm2)) ; [53]
(movq (% rsp) (% arg_z)) ; [54]
(movl (@ #x12FB8) (% imm0.l)) ; [57]
(cmpq (% temp2) (% imm0)) ; [64]
(je L79) ; [67]
(movl (@ #x12F08) (% temp2.l)) ; [69]
(jmp L89) ; [77]
L79
(pushq (@ #x12F10)) ; [79]
(movq (% imm0) (% temp2)) ; [86]
L89
(pushq (% temp2)) ; [89]
(movq (@ '#((#<COMMON-
(movl ($ 16) (% nargs)) ; [98]
(jmpq (@ '#<Compiled-
NIL
?
but when doing the same in slime, it fails:
ui> (disassemble (function call-with-
L0
(leaq (@ (:^ L0) (% rip)) (% fn)) ; [0]
(movq (@ (% rsp)) (% temp2)) ; [7]
(movl (% nargs) (% imm0.l)) ; [11]
(subq ($ 24) (% imm0)) ; [13]
(jle L34) ; [17]
(movq (% rbp) (@ 8 (% rsp) (% imm0))) ; [19]
(leaq (@ 8 (% rsp) (% imm0)) (% rbp)) ; [24]
(popq (@ 8 (% rbp))) ; [29]
(jmp L38) ; [32]
L34
(pushq (% rbp)) ; [34]
(movq (% rsp) (% rbp)) ; [35]
L38
(testl (% nargs) (% nargs)) ; [38]
(je L53) ; [40]
(cmpl ($ 16) (% nargs)) ; [42]
(je L51) ; [45]
(jb L52) ; [47]
(pushq (% arg_x)) ; [49]
L51
(pushq (% arg_y)) ; [51]
L52
(pushq (% arg_z)) ; [52]
L53
(pushq (% imm2)) ; [53]
(movq (% rsp) (% arg_z)) ; [54]
(movl (@ #x12FB8) (% imm0.l)) ; [57]
(cmpq (% temp2) (% imm0)) ; [64]
(je L79) ; [67]
(movl (@ #x12F08) (% temp2.l)) ; [69]
(jmp L89) ; [77]
L79
(pushq (@ #x12F10)) ; [79]
(movq (% imm0) (% temp2)) ; [86]
L89
(pushq (% temp2)) ; [89]
(movq (@
> Debug: Can't use #<error printing ccl::immediate #x12> as a hash-table key
> While executing: (:internal swank::
> Type cmd-. to abort, cmd-\ for a list of available restarts.
> Type :? for other options.
1 > :b
(2B3C9B00) : 0 (funcall #'#<(:internal swank::
(2B3C9B20) : 1 (funcall #'#<swank-
(2B3C9BA8) : 2 (call-with-
(2B3C9BD8) : 3 (invoke-
(2B3C9BF8) : 4 (swank-
(2B3C9C28) : 5 (break-
(2B3C9CD0) : 6 (%error #<simple-error #x30200501170D> (#<Unbound>) 90674079) 333
(2B3C9CF8) : 7 (puthash ? #<hash-table :test eq size 13/31 #x30200500CCFD> 0 0) 269
(2B3C9D48) : 8 (circularity-
(2B3C9D80) : 9 (write+ ? #<ccl::xp-structure #x302005006E4D> nil nil) 189
(2B3C9DC0) : 10 (write-internal #<ccl::xp-stream #x302005011F0D> ? 1152921504606846974 nil) 773
(2B3C9E20) : 11 (write-an-array #((#<#>) nil nil 0 #<common-
(2B3C9EC0) : 12 (funcall #'#<#<ccl:
(2B3C9EF8) : 13 (%call-next-method (nil #<ccl::
(2B3C9F78) : 14 (%%standard-
(2B3C9FF0) : 15 (write-a-frob #((#<#>) nil nil 0 #<common-
(2B3CA070) : 16 (write-internal #<ccl::xp-stream #x302005011F0D> #((#<#>) nil nil 0 #<common-
(2B3CA0D0) : 17 (write-1 #((#<#>) nil nil 0 #<common-
(2B3CA100) : 18 (prin1 #((#<#>) nil nil 0 #<common-
(2B3CA140) : 19 (funcall #'#<ccl:
(2B3CA190) : 20 (sub-format #<ccl::xp-stream #x302005011F0D> 2 3) 2285
(2B3CA238) : 21 (do-sub-format #<ccl::xp-stream #x302005011F0D>) 157
(2B3CA258) : 22 (do-sub-format-1 #<ccl::xp-stream #x302005011F0D> (#(# nil nil 0 #<common-
(2B3CA2D8) : 23 (do-xp-printing #<Compiled-function (:internal format) (Non-Global) #x30000093258F> #<swank-
(2B3CA360) : 24 (funcall #'#<(:internal ccl::do-it ccl::xp-print)> #<Compiled-function (:internal format) (Non-Global) #x30000093258F> #<swank-
(2B3CA388) : 25 (maybe-
(2B3CA408) : 26 (format #<swank-
(2B3CA4A8) : 27 (funcall #'#<(:internal ccl::out ccl::write-
(2B3CA4E0) : 28 (x86-print-di-lap #S(ccl:
(2B3CA528) : 29 (x86-print-
(2B3CA5B0) : 30 (x86-disassembl
(2B3CA658) : 31 (call-check-regs disassemble #<common-
(2B3CA690) : 32 (cheap-eval (disassemble #'call-
(2B3CA6C8) : 33 (eval-region "(disassemble (function call-with-
") 381
(2B3CA750) : 34 (funcall #'#<(:internal swank::repl-eval)>) 61
(2B3CA770) : 35 (track-package #<ccl:compiled-
(2B3CA7C8) : 36 (funcall #'#<(:internal swank::repl-eval)>) 181
(2B3CA7E8) : 37 (call-with-
(2B3CA840) : 38 (funcall #'#<(:internal swank::repl-eval)>) 189
(2B3CA860) : 39 (funcall #'#<Anonymous Function #x30200192FE5F> #<ccl:compiled-
(2B3CA880) : 40 (call-with-
(2B3CA8A8) : 41 (call-with-
(2B3CA8F0) : 42 (repl-eval "(disassemble (function call-with-
") 189
(2B3CA908) : 43 (listener-eval "(disassemble (function call-with-
" :window-width nil) 325
(2B3CA940) : 44 (call-check-regs swank:listener-eval "(disassemble (function call-with-
") 221
(2B3CA978) : 45 (cheap-eval (swank:
")) 101
(2B3CA9B0) : 46 (eval-for-emacs (swank:
") "MCLGUI" 11) 1533
(2B3CAAC0) : 47 (process-requests nil) 293
(2B3CAB00) : 48 (funcall #'#<(:internal swank::
(2B3CAB78) : 49 (funcall #'#<(:internal swank::
(2B3CABB0) : 50 (funcall #'#<swank-
(2B3CAC38) : 51 (call-with-
(2B3CAC68) : 52 (funcall #'#<(:internal swank::
(2B3CAC88) : 53 (call-with-bindings ((*standard-output* . #) (*standard-input* . #) (*trace-output* . #) (*error-output* . #) (*debug-io* . #<two-way-stream input #<swank-
(2B3CACC8) : 54 (handle-requests #<multithreaded
(2B3CADC0) : 55 (repl-loop #<multithreaded
(2B3CADE0) : 56 (funcall #'#<(:internal swank::
(2B3CAE00) : 57 (call-with-bindings ((*print-pretty*) (*print-level*) (*print-length*) (*print-circle* . t) (*print-case* . :downcase) ...) #<ccl:compiled-
(2B3CAE40) : 58 (funcall #'#<(:internal swank::
(2B3CAE60) : 59 (run-process-
(2B3CAEF0) : 60 (funcall #'#<(:internal (ccl::%
(2B3CAF98) : 61 (funcall #'#<(:internal ccl::thread-
1 > :q
; Evaluation aborted on #<simple-error #x30200501170D>.
ui>
cl-user> (cl-user:
LISP-
LISP-
SOFTWARE-TYPE "Darwin"
SOFTWARE-
MACHINE-
MACHINE-TYPE "x86_64"
MACHINE-VERSION "MacBookAir6,2"
*FEATURES* (:bordeaux-threads :thread-support :objc-support :cocoa-10.9 :cocoa-10.8 :cocoa-10.7 :cocoa-10.6 :cocoa-10.5 :cocoa-10.4 :cocoa :hemlock :apple-objc-2.0 :apple-objc patchwork.
; No value
cl-user>
This issue tracker has been by superseded by the one at https:/ /github. com/slime/ slime/issues. It's unfortunate that that's not clear. Sorry about that. Please open an issue on github. Thanks!