X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Ftarget-load.lisp;h=560ba0e0bb451465e8baa3394b5ba818f558dc80;hb=dae76a317682df7472ee85d1a0f6a0248801a6ae;hp=56e04413fd10d835a1fb55db22be36c726d4ae86;hpb=a53deb94a224bc903d00a5075acf562488cab06a;p=sbcl.git diff --git a/src/code/target-load.lisp b/src/code/target-load.lisp index 56e0441..560ba0e 100644 --- a/src/code/target-load.lisp +++ b/src/code/target-load.lisp @@ -165,7 +165,7 @@ #!+sb-doc "Load the file given by FILESPEC into the Lisp environment, returning T on success." - + (declare (ignore external-format)) (let ((*load-depth* (1+ *load-depth*)) ;; KLUDGE: I can't find in the ANSI spec where it says that ;; DECLAIM/PROCLAIM of optimization policy should have file @@ -261,7 +261,7 @@ tto) (format t " loading to the dynamic space~%")) - (let ((code (%primitive sb!c:allocate-dynamic-code-object + (let ((code (%primitive sb!c:allocate-code-object box-num code-length)) (index (+ sb!vm:code-trace-table-offset-slot box-num))) @@ -298,9 +298,12 @@ ;;; SB!SYS:GET-DYNAMIC-FOREIGN-SYMBOL-ADDRESS is in foreign.lisp, on ;;; platforms that have dynamic loading +(defun foreign-symbol-address-as-integer-or-nil (foreign-symbol) + (or (find-foreign-symbol-in-table foreign-symbol *static-foreign-symbols*) + (sb!sys:get-dynamic-foreign-symbol-address foreign-symbol))) + (defun foreign-symbol-address-as-integer (foreign-symbol) - (or (find-foreign-symbol-in-table foreign-symbol *static-foreign-symbols*) - (sb!sys:get-dynamic-foreign-symbol-address foreign-symbol) + (or (foreign-symbol-address-as-integer-or-nil foreign-symbol) (error "unknown foreign symbol: ~S" foreign-symbol))) (defun foreign-symbol-address (symbol)