X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fsb-aclrepl%2Finspect.lisp;h=cf19fb7391860498f83cd3dbf948f1b4a77350a2;hb=2d68a49fe9d30f687da45cfe7a02b497cb91137c;hp=f6cbcc7883bb922e5a55aa416ad4b59758b8bf69;hpb=0aecc2b20142e08068c3434273500131cb13fe2d;p=sbcl.git diff --git a/contrib/sb-aclrepl/inspect.lisp b/contrib/sb-aclrepl/inspect.lisp index f6cbcc7..cf19fb7 100644 --- a/contrib/sb-aclrepl/inspect.lisp +++ b/contrib/sb-aclrepl/inspect.lisp @@ -326,6 +326,7 @@ The commands are: (format stream "~A" (inspected-description object)) (unless (or *skip-address-display* (eq object *inspect-unbound-object-marker*) + (and (= sb-vm::n-word-bits 64) (typep object 'single-float)) (characterp object) (typep object 'fixnum)) (write-string " at #x" stream) (format stream (n-word-bits-hex-format) @@ -655,9 +656,16 @@ cons cells and LIST-TYPE is :normal, :dotted, or :cyclic" (ref32-hexstr object start)))) (defmethod inspected-description ((object single-float)) - (description-maybe-internals "single-float ~W" (list object) - "[#x~A]" - (ref32-hexstr object (round sb-vm::n-word-bits 8)))) + (ecase sb-vm::n-word-bits + (32 + (description-maybe-internals "single-float ~W" (list object) + "[#x~A]" + (ref32-hexstr object (round sb-vm::n-word-bits 8)))) + (64 + ;; on 64-bit platform, single-floats are not boxed + (description-maybe-internals "single-float ~W" (list object) + "[#x~8,'0X]" + (ash (sb-kernel:get-lisp-obj-address object) -32))))) (defmethod inspected-description ((object fixnum)) (description-maybe-internals @@ -809,12 +817,7 @@ cons cells and LIST-TYPE is :normal, :dotted, or :cyclic" (list components (length components) :named nil))) (defmethod inspected-parts ((object function)) - (let* ((type (sb-kernel:widetag-of object)) - (object (if (= type sb-vm:closure-header-widetag) - (sb-kernel:%closure-fun object) - object)) - (components (list (cons "arglist" - (sb-kernel:%simple-fun-arglist object))))) + (let ((components (list (cons "arglist" (sb-kernel:%fun-lambda-list object))))) (list components (length components) :named nil))) (defmethod inspected-parts ((object vector))