You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"[...] ALIGN was never supposed to be for users (including swank)
align-up is declared inline, so it's inlined and the tree shaker removes it.
Even if it were renamed back to ALIGN it would have that issue. This is sad.
That said, going back to the initial commit in which swank/sbcl started to call disassemble-code-component, it's bogus (certainly now, probably before).
It SHOULD NOT be trying to compute the bounds on what to disassemble.
It should just call disassemble-code-component in any case. (The COND should go away)
The second branch became even more wrong after Stas changed SB-KERNEL:%CODE-CODE-SIZE to return bytes instead of words. (The ASH shouldn't be there)
So fundamentally, this is all wrong and somebody with Slime commit access should simplify that code"
The text was updated successfully, but these errors were encountered:
* slynk/backend/sbcl.lisp (emacs-inspect sb-kernel:code-component):
Just call disassemble-code-component and not much else.
See also slime/slime#429.
(cherry picked from SLIME commit
81017fb)
swank is referring to the internal symbol SB-DISASSEM::ALIGN, but this symbol is gone so this causes a package lock failure. Dougk had this to say:
https://bugs.launchpad.net/sbcl/+bug/1748041
"[...] ALIGN was never supposed to be for users (including swank)
align-up is declared inline, so it's inlined and the tree shaker removes it.
Even if it were renamed back to ALIGN it would have that issue. This is sad.
That said, going back to the initial commit in which swank/sbcl started to call disassemble-code-component, it's bogus (certainly now, probably before).
commit 70d4dc9
Author: Helmut Eller heller@common-lisp.net
Date: Wed Nov 24 19:58:37 2004 +0000
(cond ((sb-kernel:%code-debug-info o)
(sb-disassem:disassemble-code-component o :stream s))
(t
(sb-disassem:disassemble-memory
(sb-disassem::align
(+ (logandc2 (sb-kernel:get-lisp-obj-address o)
sb-vm:lowtag-mask)
(* sb-vm:code-constants-offset
sb-vm:n-word-bytes))
(ash 1 sb-vm:n-lowtag-bits))
(ash (sb-kernel:%code-code-size o) sb-vm:word-shift)
:stream s)))))))
It SHOULD NOT be trying to compute the bounds on what to disassemble.
It should just call disassemble-code-component in any case. (The COND should go away)
The second branch became even more wrong after Stas changed SB-KERNEL:%CODE-CODE-SIZE to return bytes instead of words. (The ASH shouldn't be there)
So fundamentally, this is all wrong and somebody with Slime commit access should simplify that code"
The text was updated successfully, but these errors were encountered: