X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fgeneric%2Fgenesis.lisp;h=ba452c3795d546dff59e7a94f967deb10e7368eb;hb=2a71a27c55ad98e36f2886017d45ca2ae986296d;hp=98c35ff4c66e9209b1805ee243f106561c29c74f;hpb=079ef9dad558ca07cb8178ef428bf738112174fa;p=sbcl.git diff --git a/src/compiler/generic/genesis.lisp b/src/compiler/generic/genesis.lisp index 98c35ff..ba452c3 100644 --- a/src/compiler/generic/genesis.lisp +++ b/src/compiler/generic/genesis.lisp @@ -690,6 +690,11 @@ core and return a descriptor to it." (defun float-to-core (x) (etypecase x (single-float + ;; 64-bit platforms have immediate single-floats. + #!+#.(cl:if (cl:= sb!vm:n-word-bits 64) '(and) '(or)) + (make-random-descriptor (logior (ash (single-float-bits x) 32) + sb!vm::single-float-widetag)) + #!-#.(cl:if (cl:= sb!vm:n-word-bits 64) '(and) '(or)) (let ((des (allocate-unboxed-object *dynamic* sb!vm:n-word-bits (1- sb!vm:single-float-size) @@ -1251,6 +1256,7 @@ core and return a descriptor to it." (frob sb!kernel::control-stack-exhausted-error) (frob sb!kernel::undefined-alien-variable-error) (frob sb!kernel::undefined-alien-function-error) + (frob sb!kernel::memory-fault-error) (frob sb!di::handle-breakpoint) (frob sb!di::handle-fun-end-breakpoint) (frob sb!thread::handle-thread-exit)) @@ -1468,7 +1474,7 @@ core and return a descriptor to it." sb!vm:fdefn-raw-addr-slot (make-random-descriptor (cold-foreign-symbol-address-as-integer - (sb!vm:extern-alien-name "undefined_tramp"))))) + "undefined_tramp")))) fdefn)))) ;;; Handle the at-cold-init-time, fset-for-static-linkage operation @@ -1495,7 +1501,7 @@ core and return a descriptor to it." (/show0 "/static-fset (closure)") (make-random-descriptor (cold-foreign-symbol-address-as-integer - (sb!vm:extern-alien-name "closure_tramp")))))) + "closure_tramp"))))) fdefn)) (defun initialize-static-fns ()