Changeset 15173
- Timestamp:
- Jan 23, 2012, 12:56:50 PM (13 years ago)
- File:
-
- 1 edited
-
trunk/source/compiler/X86/x862.lisp (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/compiler/X86/x862.lisp
r15172 r15173 851 851 852 852 (defun x862-regmap-note-store (gpr loc) 853 (let* ((gpr ( %hard-regspec-value gpr)))853 (let* ((gpr (if gpr (%hard-regspec-value gpr)))) 854 854 ;; Any other GPRs that had contained loc no longer do so. 855 855 (dotimes (i 16) … … 861 861 (setq *x862-gpr-locations-valid-mask* 862 862 (logandc2 *x862-gpr-locations-valid-mask* (ash 1 i))))))) 863 (if (logbitp gpr *x862-gpr-locations-valid-mask*) 864 (push loc (svref *x862-gpr-locations* gpr)) 865 (setf (svref *x862-gpr-locations* gpr) (list loc))) 866 (setq *x862-gpr-locations-valid-mask* 867 (logior *x862-gpr-locations-valid-mask* (ash 1 gpr))))) 863 (when gpr 864 (if (logbitp gpr *x862-gpr-locations-valid-mask*) 865 (push loc (svref *x862-gpr-locations* gpr)) 866 (setf (svref *x862-gpr-locations* gpr) (list loc))) 867 (setq *x862-gpr-locations-valid-mask* 868 (logior *x862-gpr-locations-valid-mask* (ash 1 gpr)))))) 868 869 869 870 ;;; For vpush: nothing else should claim to contain loc. … … 1368 1369 (apply (x862-acode-operator-function form) seg vreg xfer args))) 1369 1370 1371 1370 1372 (defun x862-form (seg vreg xfer form) 1373 (when (eq vreg :push) 1374 (x862-regmap-note-store nil *x862-vstack*)) 1371 1375 (with-note (form seg) 1372 1376 (if (nx-null form) … … 3290 3294 (dolist (arg stkargs) 3291 3295 (let* ((pushform (x862-acode-operator-supports-push arg))) 3292 (if pushform 3296 en (if pushformne 3293 3297 (progn 3294 3298 (x862-form seg :push nil pushform) … … 5423 5427 (dolist (f initforms) (x862-form seg nil nil f)) 5424 5428 (let* ((*x862-vstack* *x862-vstack*) 5425 (entry-vstack *x862-vstack*)5426 5429 (*x862-top-vstack-lcell* *x862-top-vstack-lcell*) 5427 5430 (arch (backend-target-arch *target-backend*)) … … 5482 5485 (! misc-set-c-node reg target index))))) 5483 5486 (! vstack-discard nntriv)) 5484 )) 5485 (x862-regmap-note-vstack-delta entry-vstack *x862-vstack*))) 5487 )))) 5486 5488 (^))) 5487 5489
Note:
See TracChangeset
for help on using the changeset viewer.
