Changeset 5370


Ignore:
Timestamp:
Oct 18, 2006, 12:41:46 AM (18 years ago)
Author:
Gary Byers
Message:

Compare stack addresses/vcells to nil.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/compiler/X86/X8664/x8664-vinsns.lisp

    r5359 r5370  
    427427    (()
    428428     ((const :s32const)))
    429   ((:and  (:pred < const 128) (:pred > const 127))
     429  ((:and  (:pred < const 128) (:pred >= const -128))
    430430   (pushq (:$b const)))
    431   ((:not (:and  (:pred < const 128) (:pred > const 127)))
     431  ((:not (:and  (:pred < const 128) (:pred >= const -128)))
    432432   (pushq (:$l const))))
    433433
     
    439439  (movq (:@ (:apply - (:apply + frame-offset x8664::word-size-in-bytes)) (:%q x8664::rbp)) (:%q dest)))
    440440
     441(define-x8664-vinsn compare-vframe-offset-to-nil (()
     442                                                  ((frame-offset :u16const)
     443                                                   (cur-vsp :u16const)))
     444  (cmpb (:$b x8664::fulltag-nil) (:@ (:apply - (:apply + frame-offset x8664::word-size-in-bytes)) (:%q x8664::rbp))))
     445
     446
     447(define-x8664-vinsn compare-value-cell-to-nil (()
     448                                               ((vcell :lisp)))
     449  (cmpb (:$b x8664::fulltag-nil) (:@ x8664::value-cell.value (:%q vcell))))
    441450
    442451(define-x8664-vinsn lcell-load (((dest :lisp))
     
    16991708  (movq (:@ x8664::interrupt-level-binding-index (:%q tlb)) (:%q curval))
    17001709  (testq (:%q curval) (:%q curval))
    1701   (movq (:@ 8 #|binding.val|# (:%q link)) (:%q oldval))
     1710  (movq (:@ 16 #|binding.val|# (:%q link)) (:%q oldval))
    17021711  (movq (:@ #|binding.link|# (:%q link)) (:%q link))
    17031712  (movq (:%q oldval) (:@ x8664::interrupt-level-binding-index (:%q tlb)))
Note: See TracChangeset for help on using the changeset viewer.