weixin_39631755 2020-11-29 17:43
浏览 0

disassemble now differently broken than before

Now the following ansi-tests fail: DISASSEMBLE.1, DISASSEMBLE.2,
DISASSEMBLE.4, DISASSEMBLE.5, DISASSEMBLE.6, DISASSEMBLE.7, DISASSEMBLE.8, DISASSEMBLE.9, DISASSEMBLE.10, DISASSEMBLE.11.

As an example:

lisp
COMMON-LISP-USER> (disassemble 'car)
Disassembling function: #<closure-with-slots car :type cclasp lambda-list: :fptr>
There are 1 associated functions - disassembling them.
../../src/core/singleDispatchGenericFunction.cc:266   slowMethodLookup for GET-NAME
../../src/core/singleDispatchGenericFunction.cc:267    mc-> CLOSURE-WITH-SLOTS
../../src/core/singleDispatchGenericFunction.cc:271   ac->className -> VALUE
../../src/core/singleDispatchGenericFunction.cc:272   mc->isSubClassOf(ac) -> 0
../../src/core/singleDispatchGenericFunction.cc:273    class-precedence-list of ac -> VALUE
../../src/core/singleDispatchGenericFunction.cc:277    :   VALUE matches mc -> 0
../../src/core/singleDispatchGenericFunction.cc:277    :   EXTERNAL-OBJECT matches mc -> 0
../../src/core/singleDispatchGenericFunction.cc:277    :   T matches mc -> 0

Condition of type: SIMPLE-PROGRAM-ERROR
There are no applicable methods of GET-NAME for receiver class CLOSURE-WITH-SLOTS
Available restarts:
(use :r1 to invoke restart 1)

1. (RESTART-TOPLEVEL) Go back to Top-Level REPL.

Broken at frame[1] ERROR. In: #<process top-level>.
 File: #P"/Users/karstenpoeck/lisp/compiler/clasp2/src/core/lisp.cc" (Position #82702)
COMMON-LISP-USER>> (disassemble #'car)
Disassembling function: #<closure-with-slots car :type cclasp lambda-list: :fptr>
There are 1 associated functions - disassembling them.
../../src/core/singleDispatchGenericFunction.cc:266   slowMethodLookup for GET-NAME
../../src/core/singleDispatchGenericFunction.cc:267    mc-> CLOSURE-WITH-SLOTS
../../src/core/singleDispatchGenericFunction.cc:271   ac->className -> VALUE
../../src/core/singleDispatchGenericFunction.cc:272   mc->isSubClassOf(ac) -> 0
../../src/core/singleDispatchGenericFunction.cc:273    class-precedence-list of ac -> VALUE
../../src/core/singleDispatchGenericFunction.cc:277    :   VALUE matches mc -> 0
../../src/core/singleDispatchGenericFunction.cc:277    :   EXTERNAL-OBJECT matches mc -> 0
../../src/core/singleDispatchGenericFunction.cc:277    :   T matches mc -> 0
Debugger received error of type: SIMPLE-PROGRAM-ERROR
There are no applicable methods of GET-NAME for receiver class CLOSURE-WITH-SLOTS
Error flushed.
COMMON-LISP-USER>> (defun foo ())

FOO
COMMON-LISP-USER>> (disassemble 'foo) 
Disassembling function: #<closure-with-slots foo :type cclasp lambda-list: nil :fptr>
There are 1 associated functions - disassembling them.
../../src/core/singleDispatchGenericFunction.cc:266   slowMethodLookup for GET-NAME
../../src/core/singleDispatchGenericFunction.cc:267    mc-> CLOSURE-WITH-SLOTS
../../src/core/singleDispatchGenericFunction.cc:271   ac->className -> VALUE
../../src/core/singleDispatchGenericFunction.cc:272   mc->isSubClassOf(ac) -> 0
../../src/core/singleDispatchGenericFunction.cc:273    class-precedence-list of ac -> VALUE
../../src/core/singleDispatchGenericFunction.cc:277    :   VALUE matches mc -> 0
../../src/core/singleDispatchGenericFunction.cc:277    :   EXTERNAL-OBJECT matches mc -> 0
../../src/core/singleDispatchGenericFunction.cc:277    :   T matches mc -> 0
Debugger received error of type: SIMPLE-PROGRAM-ERROR
There are no applicable methods of GET-NAME for receiver class CLOSURE-WITH-SLOTS
</closure-with-slots></closure-with-slots></process></closure-with-slots>

`

该提问来源于开源项目:clasp-developers/clasp

  • 写回答

5条回答 默认 最新

  • weixin_39631755 2020-11-29 17:43
    关注

    The only thing that seems to work is:

    lisp
    (disassemble '(lambda()) :type :ir)
    

    `

    评论

报告相同问题?