Changeset 6336
- Timestamp:
- Apr 22, 2007, 5:21:38 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/x8664-call/ccl/compiler/X86/x86-disassemble.lisp
r6311 r6336 58 58 :adjustable t)) 59 59 (symbolic-names ()) 60 (delta 0) 60 61 ) 61 62 … … 2605 2606 (let* ((label (label-x86-lap-expression-label exp)) 2606 2607 (name (x86-lap-label-name label)) 2607 (entry (x86-ds-entry-point ds))) 2608 (entry (x86-ds-entry-point ds)) 2609 (delta (x86-ds-delta ds))) 2608 2610 `(":^" , (if (typep name 'fixnum) 2609 (format nil "L~d" ( - name entry))2611 (format nil "L~d" (+ delta (- name entry))) 2610 2612 name)))) 2611 2613 … … 2646 2648 ds) 2647 2649 (let* ((addr (x86::x86-label-operand-label op)) 2648 (entrypoint (x86-ds-entry-point ds))) 2649 (format nil "L~d" (- addr entrypoint)))) 2650 (entrypoint (x86-ds-entry-point ds)) 2651 (delta (x86-ds-delta ds))) 2652 (format nil "L~d" (+ delta (- addr entrypoint))))) 2650 2653 2651 2654 … … 2704 2707 (defun x86-print-disassembled-instruction (ds instruction seq) 2705 2708 (let* ((addr (x86-di-address instruction)) 2706 (entry (x86-ds-entry-point ds))) 2709 (entry (x86-ds-entry-point ds)) 2710 (delta (x86-ds-delta ds))) 2707 2711 (when (x86-di-labeled instruction) 2708 (format t "~&L~d~&" ( - addr entry))2712 (format t "~&L~d~&" (+ delta (- addr entry))) 2709 2713 (setq seq 0)) 2710 2714 (dolist (p (x86-di-prefixes instruction)) … … 2722 2726 (format t ")") 2723 2727 (unless (zerop seq) ;(when (oddp seq) 2724 (format t "~50t;[~d]" ( - addr entry)))2728 (format t "~50t;[~d]" (+ delta (- addr entry)))) 2725 2729 (format t "~%") 2726 2730 (1+ seq))) … … 2737 2741 :code-pointer 0 ; for next-u32 below 2738 2742 :symbolic-names symbolic-names 2739 :pending-labels (list 7))) 2743 :pending-labels (list 7) 2744 :delta x8664::fulltag-function)) 2740 2745 (blocks (x86-ds-blocks ds))) 2741 2746 (setf (x86-ds-code-limit ds)
Note:
See TracChangeset
for help on using the changeset viewer.
