From: Daniel Barlow Date: Fri, 9 Apr 2004 12:49:33 +0000 (+0000) Subject: 0.8.9.30 X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=361040122aed4fd4e24bd014818955e5e3028a8f;p=sbcl.git 0.8.9.30 Rename x86 allocate-dynamic-code-object to allocate-code-object for consistency with other ports, as we no longer have any other kind of code object anwyay. --- diff --git a/src/code/debug-int.lisp b/src/code/debug-int.lisp index d05a3da..62cfa08 100644 --- a/src/code/debug-int.lisp +++ b/src/code/debug-int.lisp @@ -3236,11 +3236,8 @@ (trap-loc (foreign-symbol-address "fun_end_breakpoint_trap")) (length (sap- src-end src-start)) (code-object - (%primitive - #!-(and x86 gencgc) sb!c:allocate-code-object - #!+(and x86 gencgc) sb!c::allocate-dynamic-code-object - (1+ bogus-lra-constants) - length)) + (%primitive sb!c:allocate-code-object (1+ bogus-lra-constants) + length)) (dst-start (code-instructions code-object))) (declare (type system-area-pointer src-start src-end dst-start trap-loc) diff --git a/src/compiler/generic/target-core.lisp b/src/compiler/generic/target-core.lisp index 622bd23..4168eba 100644 --- a/src/compiler/generic/target-core.lisp +++ b/src/compiler/generic/target-core.lisp @@ -51,13 +51,6 @@ (ceiling trace-table-bits sb!vm:n-byte-bits))) (box-num (- (length constants) sb!vm:code-trace-table-offset-slot)) (code-obj - ;; FIXME: In CMU CL the X86 behavior here depended on - ;; *ENABLE-DYNAMIC-SPACE-CODE*, but in SBCL we always use - ;; dynamic space code, so we shoudl just rename the - ;; allocate-dynamic-code-object vop and lose this #+ stuff - #!+x86 - (%primitive allocate-dynamic-code-object box-num total-length) - #!-x86 (%primitive allocate-code-object box-num total-length)) (fill-ptr (code-instructions code-obj))) (declare (type index box-num total-length)) diff --git a/src/compiler/x86/alloc.lisp b/src/compiler/x86/alloc.lisp index c01f9a2..47adf8f 100644 --- a/src/compiler/x86/alloc.lisp +++ b/src/compiler/x86/alloc.lisp @@ -71,49 +71,6 @@ (define-vop (allocate-code-object) (:args (boxed-arg :scs (any-reg) :target boxed) (unboxed-arg :scs (any-reg) :target unboxed)) - (:results (result :scs (descriptor-reg))) - (:temporary (:sc unsigned-reg :from :eval) temp) - (:temporary (:sc unsigned-reg :from (:argument 0)) boxed) - (:temporary (:sc unsigned-reg :from (:argument 1)) unboxed) - (:generator 100 - (move boxed boxed-arg) - (inst add boxed (fixnumize (1+ code-trace-table-offset-slot))) - (inst and boxed (lognot lowtag-mask)) - (move unboxed unboxed-arg) - (inst shr unboxed word-shift) - (inst add unboxed lowtag-mask) - (inst and unboxed (lognot lowtag-mask)) - (pseudo-atomic - ;; comment from CMU CL code: - ;; now loading code into static space cause it can't move - ;; - ;; KLUDGE: What? What's all the cruft about saving fixups for then? - ;; I think what's happened is that ALLOCATE-CODE-OBJECT is the basic - ;; CMU CL primitive; this ALLOCATE-CODE-OBJECT was hacked for - ;; static space only in a simple-minded port to the X86; and then - ;; in an attempt to improve the port to the X86, - ;; ALLOCATE-DYNAMIC-CODE-OBJECT was defined. If that's right, I'd like - ;; to know why not just go back to the basic CMU CL behavior of - ;; ALLOCATE-CODE-OBJECT, where it makes a relocatable code object. - ;; -- WHN 19990916 - ;; - ;; FIXME: should have a check for overflow of static space - (load-symbol-value temp *static-space-free-pointer*) - (inst lea result (make-ea :byte :base temp :disp other-pointer-lowtag)) - (inst add temp boxed) - (inst add temp unboxed) - (store-symbol-value temp *static-space-free-pointer*) - (inst shl boxed (- n-widetag-bits word-shift)) - (inst or boxed code-header-widetag) - (storew boxed result 0 other-pointer-lowtag) - (storew unboxed result code-code-size-slot other-pointer-lowtag) - (inst mov temp nil-value) - (storew temp result code-entry-points-slot other-pointer-lowtag)) - (storew temp result code-debug-info-slot other-pointer-lowtag))) - -(define-vop (allocate-dynamic-code-object) - (:args (boxed-arg :scs (any-reg) :target boxed) - (unboxed-arg :scs (any-reg) :target unboxed)) (:results (result :scs (descriptor-reg) :from :eval)) (:temporary (:sc unsigned-reg :from (:argument 0)) boxed) (:temporary (:sc unsigned-reg :from (:argument 1)) unboxed) diff --git a/version.lisp-expr b/version.lisp-expr index 2dfa6a0..0d65704 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.8.9.29" +"0.8.9.30"