Changeset 7215
- Timestamp:
- Sep 14, 2007, 5:07:09 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ia32/compiler/X86/x862.lisp
r7214 r7215 179 179 (defvar *x862-arg-y* nil) 180 180 (defvar *x862-temp0* nil) 181 (defvar *x862-fname* nil) 181 182 182 183 (declaim (fixnum *x862-vstack* *x862-cstack*)) … … 463 464 (*x862-temp0* (target-arch-case (:x8632 x8632::temp0) 464 465 (:x8664 x8664::temp0))) 466 (*x862-fname* (target-arch-case (:x8632 x8632::fname) 467 (:x8664 x8664::fname))) 465 468 466 469 … … 1418 1421 (x862-store-immediate seg form target))))) 1419 1422 (if (and (listp form) *load-time-eval-token* (eq (car form) *load-time-eval-token*)) 1420 (x862-store-immediate seg form ($ x8664::temp0))))1423 (x862-store-immediate seg form ($ *x862-temp0*)))) 1421 1424 (^)))) 1422 1425 … … 1754 1757 (if constidx 1755 1758 (multiple-value-setq (src val-reg) 1756 (x862-two-targeted-reg-forms seg array ($ x8664::temp0) new val-reg))1759 (x862-two-targeted-reg-forms seg array ($ *x862-temp0*) new val-reg)) 1757 1760 (multiple-value-setq (src unscaled-i unscaled-j val-reg) 1758 1761 (if needs-memoization 1759 1762 (progn 1760 1763 (x862-four-targeted-reg-forms seg 1761 array ($ x8664::temp0)1764 array ($ *x862-temp0*) 1762 1765 i ($ x8664::arg_x) 1763 1766 j ($ *x862-arg-y*) 1764 1767 new val-reg) 1765 (values ($ x8664::temp0) ($ x8664::arg_x) ($ *x862-arg-y*) ($ *x862-arg-z*)))1768 (values ($ *x862-temp0*) ($ x8664::arg_x) ($ *x862-arg-y*) ($ *x862-arg-z*))) 1766 1769 (x862-four-untargeted-reg-forms seg 1767 array ($ x8664::temp0)1770 array ($ *x862-temp0*) 1768 1771 i ($ x8664::arg_x) 1769 1772 j ($ *x862-arg-y*) … … 1828 1831 (if constidx 1829 1832 (multiple-value-setq (src val-reg) 1830 (x862-two-targeted-reg-forms seg array ($ x8664::temp0) new val-reg))1833 (x862-two-targeted-reg-forms seg array ($ *x862-temp0*) new val-reg)) 1831 1834 (progn 1832 1835 (setq src ($ x8664::temp1) 1833 unscaled-i ($ x8664::temp0)1836 unscaled-i ($ *x862-temp0*) 1834 1837 unscaled-j ($ x8664::arg_x) 1835 1838 unscaled-k ($ *x862-arg-y*)) … … 1838 1841 (x862-one-untargeted-reg-form seg array ($ *x862-arg-z*))) 1839 1842 (x862-four-targeted-reg-forms seg 1840 i ($ x8664::temp0)1843 i ($ *x862-temp0*) 1841 1844 j ($ x8664::arg_x) 1842 1845 k ($ *x862-arg-y*) … … 1945 1948 (multiple-value-setq (src unscaled-i unscaled-j unscaled-k) 1946 1949 (x862-four-untargeted-reg-forms seg 1947 array x8664::temp01950 array *x862-temp0* 1948 1951 i x8664::arg_x 1949 1952 j *x862-arg-y* … … 2570 2573 (expression-p (or (typep fn 'lreg) (and (fixnump fn) (not label-p)))) 2571 2574 (callable (or symp lfunp label-p)) 2572 (destreg (if symp ($ x8664::fname) (unless label-p ($ x8664::temp0))))2575 (destreg (if symp ($ *x862-fname*) (unless label-p ($ *x862-temp0*)))) 2573 2576 (alternate-tail-call 2574 2577 (and tail-p label-p *x862-tail-label* (eql nargs *x862-tail-nargs*) (not spread-p)))) … … 2606 2609 (if (not tail-p) 2607 2610 (if (x862-mvpass-p xfer) 2608 (let* ((call-reg (if symp ($ x8664::fname) ($ x8664::temp0))))2611 (let* ((call-reg (if symp ($ *x862-fname*) ($ *x862-temp0*)))) 2609 2612 (unless mvpass-label (error "bug: no label for mvpass")) 2610 2613 (if label-p … … 2648 2651 (unless (or label-p a-reg) (x862-store-immediate seg func destreg)) 2649 2652 (when label-p 2650 (x862-copy-register seg x8664::temp0x8664::fn))2653 (x862-copy-register seg *x862-temp0* x8664::fn)) 2651 2654 2652 2655 (cond ((or spread-p (null nargs)) … … 4862 4865 (! recover-values-for-mvcall) 4863 4866 (x862-close-undo) 4864 (x862-temp-pop-node seg x8664::temp0)4865 (x862-invoke-fn seg x8664::temp0nil nil xfer label)))4867 (x862-temp-pop-node seg *x862-temp0*) 4868 (x862-invoke-fn seg *x862-temp0* nil nil xfer label))) 4866 4869 (unless recursive-p 4867 4870 (if mv-p … … 5103 5106 (vtotal numreq) 5104 5107 (old-top *x862-top-vstack-lcell*) 5105 (argreg ($ x8664::temp0))5108 (argreg ($ *x862-temp0*)) 5106 5109 (keyvectreg ($ x8664::arg_x)) 5107 5110 (doadlword (dpb nkeys (byte 8 16) (dpb numopt (byte 8 8) (dpb numreq (byte 8 0) 0 ))))) … … 7726 7729 (dolist (ref fwd-refs) 7727 7730 (let ((ea (var-ea (pop ref)))) 7728 (x862-addrspec-to-reg seg ea x8664::temp0)7731 (x862-addrspec-to-reg seg ea *x862-temp0*) 7729 7732 (dolist (r ref) 7730 7733 (let* ((v-ea (var-ea (cdr r)))) 7731 7734 (let* ((val-reg (if (eq v-ea ea) 7732 x8664::temp07735 *x862-temp0* 7733 7736 (progn 7734 7737 (x862-addrspec-to-reg seg v-ea x8664::temp1) 7735 7738 x8664::temp1)))) 7736 (! set-closure-forward-reference val-reg x8664::temp0(car r)))))))7739 (! set-closure-forward-reference val-reg *x862-temp0* (car r))))))) 7737 7740 (x862-undo-body seg vreg xfer body old-stack) 7738 7741 (dolist (var real-vars) … … 8006 8009 (t 8007 8010 (x862-four-targeted-reg-forms seg 8008 arr ($ x8664::temp0)8011 arr ($ *x862-temp0*) 8009 8012 i ($ x8664::arg_x) 8010 8013 j ($ *x862-arg-y*) … … 8043 8046 (t 8044 8047 (x862-four-targeted-reg-forms seg 8045 arr ($ x8664::temp0)8048 arr ($ *x862-temp0*) 8046 8049 i ($ x8664::arg_x) 8047 8050 j ($ *x862-arg-y*) … … 8084 8087 (x862-push-register seg (x862-one-untargeted-reg-form seg arr ($ *x862-arg-z*))) 8085 8088 (x862-four-targeted-reg-forms seg 8086 i ($ x8664::temp0)8089 i ($ *x862-temp0*) 8087 8090 j ($ x8664::arg_x) 8088 8091 k ($ *x862-arg-y*) … … 8133 8136 (x862-vset seg vreg xfer type-keyword uvector index newval (unless *x862-reckless* (nx-lookup-target-uvector-subtag type-keyword))) 8134 8137 (progn 8135 (x862-four-targeted-reg-forms seg subtag ($ x8664::temp0) uvector ($ x8664::arg_x) index ($ *x862-arg-y*) newval ($ *x862-arg-z*))8138 (x862-four-targeted-reg-forms seg subtag ($ *x862-temp0*) uvector ($ x8664::arg_x) index ($ *x862-arg-y*) newval ($ *x862-arg-z*)) 8136 8139 (! subtag-misc-set) 8137 8140 (when vreg (<- ($ *x862-arg-z*)))
Note: See TracChangeset
for help on using the changeset viewer.