X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86%2Fmemory.lisp;h=4a9a14a8b3de066b62099077b607ac314a7a60ce;hb=7deecae2d959173eda6a153d490c752c32050a9e;hp=2d892720e4f4d09cc0295c4bcf5d1861b316b2a6;hpb=2e28fe9a277201b4b96f052794b8eeaaccf9aa95;p=sbcl.git diff --git a/src/compiler/x86/memory.lisp b/src/compiler/x86/memory.lisp index 2d89272..4a9a14a 100644 --- a/src/compiler/x86/memory.lisp +++ b/src/compiler/x86/memory.lisp @@ -97,21 +97,7 @@ (:variant-vars base lowtag) (:info offset) (:generator 4 - (if (sc-is value immediate) - (let ((val (tn-value value))) - (etypecase val - (integer - (storew (fixnumize val) - object (+ base offset) lowtag)) - (symbol - (storew (+ nil-value (static-symbol-offset val)) - object (+ base offset) lowtag)) - (character - (storew (logior (ash (char-code val) n-widetag-bits) - character-widetag) - object (+ base offset) lowtag)))) - ;; Else, value not immediate. - (storew value object (+ base offset) lowtag)))) + (storew (encode-value-if-immediate value) object (+ base offset) lowtag))) (define-vop (slot-set-conditional) (:args (object :scs (descriptor-reg) :to :eval)