Changeset 9583
- Timestamp:
- May 22, 2008, 9:02:35 PM (17 years ago)
- File:
-
- 1 edited
-
branches/ia32/compiler/X86/x862.lisp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/ia32/compiler/X86/x862.lisp
r9581 r9583 2317 2317 (x862-lri seg reg constval) 2318 2318 (if *x862-reckless* 2319 (! %unbox-u32 reg result-reg) 2319 (target-arch-case 2320 (:x8632 (! unbox-u32 reg result-reg)) 2321 (:x8664 (! %unbox-u32 reg result-reg))) 2320 2322 (! unbox-u32 reg result-reg))))) 2321 2323 reg))) … … 2520 2522 value result-reg))))) 2521 2523 (when safe 2522 (with-additional-imm-reg (src unscaled-idx result-reg) 2523 (let* ((*available-backend-imm-temps* *available-backend-imm-temps*) 2524 (value (if (eql (hard-regspec-class result-reg) 2525 hard-reg-class-gpr) 2526 (hard-regspec-value result-reg)))) 2527 (when (and value (logbitp value *available-backend-imm-temps*)) 2528 (setq *available-backend-imm-temps* (bitclr value *available-backend-imm-temps*))) 2529 (if (typep safe 'fixnum) 2530 (! trap-unless-typecode= src safe)) 2531 (unless index-known-fixnum 2532 (! trap-unless-fixnum unscaled-idx)) 2524 (let* ((*available-backend-imm-temps* *available-backend-imm-temps*) 2525 (value (if (eql (hard-regspec-class result-reg) 2526 hard-reg-class-gpr) 2527 (hard-regspec-value result-reg))) 2528 (result-is-imm nil)) 2529 (when (and value (logbitp value *available-backend-imm-temps*)) 2530 (setq *available-backend-imm-temps* (bitclr value *available-backend-imm-temps*)) 2531 (setq result-is-imm t)) 2532 (if (typep safe 'fixnum) 2533 (if result-is-imm 2534 (with-additional-imm-reg (src safe) 2535 (! trap-unless-typecode= src safe)) 2536 (! trap-unless-typecode= src safe))) 2537 (unless index-known-fixnum 2538 (! trap-unless-fixnum unscaled-idx)) 2539 (if result-is-imm 2540 (with-additional-imm-reg (unscaled-idx src) 2541 (! check-misc-bound unscaled-idx src)) 2533 2542 (! check-misc-bound unscaled-idx src)))) 2534 2543 (x862-vset1 seg vreg xfer type-keyword src unscaled-idx index-known-fixnum result-reg (x862-unboxed-reg-for-aset seg type-keyword result-reg safe constval) constval needs-memoization)))))
Note:
See TracChangeset
for help on using the changeset viewer.
