Diff of /src/compiler/x86-64/insts.lisp [5d1093] .. [4e815e] Maximize Restore

  Switch to unified view

a/src/compiler/x86-64/insts.lisp b/src/compiler/x86-64/insts.lisp
...
...
349
    (:dword 32)
349
    (:dword 32)
350
    (:qword 64)))
350
    (:qword 64)))
351
351
352
(defun print-imm/asm-routine (value stream dstate)
352
(defun print-imm/asm-routine (value stream dstate)
353
  (sb!disassem:maybe-note-assembler-routine value nil dstate)
353
  (sb!disassem:maybe-note-assembler-routine value nil dstate)
354
  ;; also note a possible use of a static symbol.
355
  ;; Do we want to push this logic into MAYBE-NOTE-ASSEMBLER-ROUTINE?
356
  (dolist (symbol *static-symbols*)
357
    (when (= (get-lisp-obj-address symbol) value)
358
      (return (sb!disassem:note (lambda (s) (format s "possibly ~S" symbol))
359
                                dstate))))
354
  (princ value stream))
360
  (princ value stream))
355
) ; EVAL-WHEN
361
) ; EVAL-WHEN
356

362

357
;;;; disassembler argument types
363
;;;; disassembler argument types
358
364
...
...
1835
            ;; MOV on non-registers can only take a 32-bit immediate arg.
1841
            ;; MOV on non-registers can only take a 32-bit immediate arg.
1836
            ;; Make an exception for :FOREIGN fixups (pretty much just
1842
            ;; Make an exception for :FOREIGN fixups (pretty much just
1837
            ;; the runtime asm, since other foreign calls go through the
1843
            ;; the runtime asm, since other foreign calls go through the
1838
            ;; the linkage table) and for linkage table references, since
1844
            ;; the linkage table) and for linkage table references, since
1839
            ;; these should always end up in low memory.
1845
            ;; these should always end up in low memory.
1840
            (aver (or (eq (fixup-flavor src) :foreign)
1846
            (aver (or (member (fixup-flavor src)
1841
                      (eq (fixup-flavor src) :foreign-dataref)
1847
                              '(:foreign :foreign-dataref :symbol-tls-index))
1842
                      (eq (ea-size dst) :dword)))
1848
                      (eq (ea-size dst) :dword)))
1843
            (maybe-emit-rex-for-ea segment dst nil)
1849
            (maybe-emit-rex-for-ea segment dst nil)
1844
            (emit-byte segment #b11000111)
1850
            (emit-byte segment #b11000111)
1845
            (emit-ea segment dst #b000)
1851
            (emit-ea segment dst #b000)
1846
            (emit-absolute-fixup segment src))
1852
            (emit-absolute-fixup segment src))