X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Froom.lisp;h=e38ce5ecc885e34638aa75c957f75f15912b8716;hb=5762f26aae78beaead9919074963f67d92794599;hp=c56cd975ab9b67c8f955cc30daecc74b1da18f8b;hpb=768d7b22c6c7e8cc6e1302c79072c09291193bfd;p=sbcl.git diff --git a/src/code/room.lisp b/src/code/room.lisp index c56cd97..e38ce5e 100644 --- a/src/code/room.lisp +++ b/src/code/room.lisp @@ -129,6 +129,10 @@ (make-room-info :name 'instance :kind :instance)) +(setf (svref *meta-room-info* funcallable-instance-header-widetag) + (make-room-info :name 'funcallable-instance + :kind :closure)) + ) ; EVAL-WHEN (defparameter *room-info* '#.*meta-room-info*) @@ -304,7 +308,7 @@ list-pointer-lowtag (* cons-size n-word-bytes) ok))) - ((eql header-widetag closure-header-widetag) + ((eq (room-info-kind info) :closure) (let* ((obj (%make-lisp-obj (logior (sap-int current) fun-pointer-lowtag))) (size (round-to-dualword