Changeset 4959


Ignore:
Timestamp:
Aug 18, 2006, 8:44:08 AM (18 years ago)
Author:
Gary Byers
Message:

Use :rcontext when necessary.

File:
1 edited

Legend:

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

    r4817 r4959  
    773773                          ((car :lisp)
    774774                           (cdr :lisp)))
    775   (subq (:$b (- x8664::cons.size x8664::fulltag-cons)) (:@ (:%seg x8664::rcontext) x8664::tcr.save-allocptr))
    776   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.save-allocptr) (:%q x8664::allocptr))
    777   (rcmpq (:%q x8664::allocptr) (:@ (:%seg x8664::rcontext) x8664::tcr.save-allocbase))
     775  (subq (:$b (- x8664::cons.size x8664::fulltag-cons)) (:@ (:%seg :rcontext) x8664::tcr.save-allocptr))
     776  (movq (:@ (:%seg :rcontext) x8664::tcr.save-allocptr) (:%q x8664::allocptr))
     777  (rcmpq (:%q x8664::allocptr) (:@ (:%seg :rcontext) x8664::tcr.save-allocbase))
    778778  (jg :no-trap)
    779779  (uuo-alloc)
    780780  :no-trap
    781   (andb (:$b (lognot x8664::fulltagmask)) (:@ (:%seg x8664::rcontext) x8664::tcr.save-allocptr))
     781  (andb (:$b (lognot x8664::fulltagmask)) (:@ (:%seg :rcontext) x8664::tcr.save-allocptr))
    782782  (movq (:%q car) (:@ x8664::cons.car (:%q x8664::allocptr)))
    783783  (movq (:%q cdr) (:@ x8664::cons.cdr (:%q x8664::allocptr)))
     
    10361036                                       ((header (:u64 #.x8664::imm0))
    10371037                                        (freeptr (:lisp #.x8664::allocptr))))
    1038   (subq (:%q x8664::imm1) (:@ (:%seg x8664::rcontext) x8664::tcr.save-allocptr))
    1039   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.save-allocptr) (:%q freeptr))
    1040   (rcmpq (:%q freeptr) (:@ (:%seg x8664::rcontext) x8664::tcr.save-allocbase))
     1038  (subq (:%q x8664::imm1) (:@ (:%seg :rcontext) x8664::tcr.save-allocptr))
     1039  (movq (:@ (:%seg :rcontext) x8664::tcr.save-allocptr) (:%q freeptr))
     1040  (rcmpq (:%q freeptr) (:@ (:%seg :rcontext) x8664::tcr.save-allocbase))
    10411041  (jg :no-trap)
    10421042  (uuo-alloc)
    10431043  :no-trap
    10441044  (movq (:%q header) (:@ x8664::misc-header-offset (:%q freeptr)))
    1045   (andb (:$b (lognot x8664::fulltagmask)) (:@ (:%seg x8664::rcontext) x8664::tcr.save-allocptr))
     1045  (andb (:$b (lognot x8664::fulltagmask)) (:@ (:%seg :rcontext) x8664::tcr.save-allocptr))
    10461046  ((:not (:pred = freeptr
    10471047                (:apply %hard-regspec-value dest)))
     
    15321532                                   ((car :lisp) (cdr :lisp))
    15331533                                   ((temp :imm)))
    1534   (subq (:$b (+ x8664::cons.size x8664::dnode-size)) (:@ (:%seg x8664::rcontext) x8664::tcr.next-tsp))
    1535   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.next-tsp) (:%q temp))
     1534  (subq (:$b (+ x8664::cons.size x8664::dnode-size)) (:@ (:%seg :rcontext) x8664::tcr.next-tsp))
     1535  (movq (:@ (:%seg :rcontext) x8664::tcr.next-tsp) (:%q temp))
    15361536  (movapd (:%xmm x8664::fpzero) (:@ (:%q temp)))
    15371537  (movapd (:%xmm x8664::fpzero) (:@ 16 (:%q temp)))
    1538   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.save-tsp) (:%mmx x8664::stack-temp))
     1538  (movq (:@ (:%seg :rcontext) x8664::tcr.save-tsp) (:%mmx x8664::stack-temp))
    15391539  (movq (:%mmx x8664::stack-temp) (:@ (:%q temp)))
    1540   (movq (:%q temp) (:@ (:%seg x8664::rcontext) x8664::tcr.save-tsp))
     1540  (movq (:%q temp) (:@ (:%seg :rcontext) x8664::tcr.save-tsp))
    15411541  (leaq (:@ (+ x8664::dnode-size x8664::fulltag-cons) (:%q temp)) (:%q temp))
    15421542  (movq (:%q car) (:@ x8664::cons.car (:%q temp)))
     
    15521552         (:pred <= (:apply + aligned-size x8664::dnode-size) 127))
    15531553   (subq (:$b (:apply + aligned-size x8664::dnode-size))
    1554          (:@ (:%seg x8664::rcontext) x8664::tcr.next-tsp)))
     1554         (:@ (:%seg :rcontext) x8664::tcr.next-tsp)))
    15551555  ((:not (:and (:pred >= (:apply + aligned-size x8664::dnode-size) -128)
    15561556               (:pred <= (:apply + aligned-size x8664::dnode-size) 127)))
    15571557   (subq (:$l (:apply + aligned-size x8664::dnode-size))
    1558          (:@ (:%seg x8664::rcontext) x8664::tcr.next-tsp)))
    1559   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.save-tsp) (:%q tempb))
    1560   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.next-tsp) (:%q tempa))
     1558         (:@ (:%seg :rcontext) x8664::tcr.next-tsp)))
     1559  (movq (:@ (:%seg :rcontext) x8664::tcr.save-tsp) (:%q tempb))
     1560  (movq (:@ (:%seg :rcontext) x8664::tcr.next-tsp) (:%q tempa))
    15611561  (movd (:%q tempb) (:%mmx x8664::stack-temp))
    15621562  :loop
     
    15661566  (jnz :loop)
    15671567  (movq (:%mmx x8664::stack-temp) (:@ (:%q tempa)))
    1568   (movq (:%q tempa) (:@ (:%seg x8664::rcontext) x8664::tcr.save-tsp))
     1568  (movq (:%q tempa) (:@ (:%seg :rcontext) x8664::tcr.save-tsp))
    15691569  (movl (:$l header) (:@ x8664::dnode-size (:%q tempa)))
    15701570  (leaq (:@ (+ x8664::dnode-size x8664::fulltag-misc) (:%q tempa)) (:%q dest)))
     
    15741574                                        ()
    15751575                                        ((temp :imm)))
    1576   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.save-tsp) (:%q temp))
     1576  (movq (:@ (:%seg :rcontext) x8664::tcr.save-tsp) (:%q temp))
    15771577  (movq (:@ (:%q temp)) (:%q temp))
    1578   (movq (:%q temp) (:@ (:%seg x8664::rcontext) x8664::tcr.save-tsp))
    1579   (movq (:%q temp) (:@ (:%seg x8664::rcontext) x8664::tcr.next-tsp))
     1578  (movq (:%q temp) (:@ (:%seg :rcontext) x8664::tcr.save-tsp))
     1579  (movq (:%q temp) (:@ (:%seg :rcontext) x8664::tcr.next-tsp))
    15801580  )
    15811581
     
    15831583                                     ()
    15841584                                     ((temp :imm)))
    1585   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp) (:%q temp))
     1585  (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q temp))
    15861586  (movq (:@ (:%q temp)) (:%q temp))
    1587   (movq (:%q temp) (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp)))
     1587  (movq (:%q temp) (:@ (:%seg :rcontext) x8664::tcr.foreign-sp)))
    15881588
    15891589 
     
    17321732                                               (idx :imm)))
    17331733  (movq (:@ x8664::symbol.binding-index (:%q src)) (:%q idx))
    1734   (rcmpq (:%q idx) (:@ (:%seg x8664::rcontext) x8664::tcr.tlb-limit))
    1735   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.tlb-pointer) (:%q table))
     1734  (rcmpq (:%q idx) (:@ (:%seg :rcontext) x8664::tcr.tlb-limit))
     1735  (movq (:@ (:%seg :rcontext) x8664::tcr.tlb-pointer) (:%q table))
    17361736  (jae :symbol)
    17371737  (movq (:@ (:%q table) (:%q idx)) (:%q dest))
     
    17611761                                               (idx :imm)))
    17621762  (movq (:@ x8664::symbol.binding-index (:%q src)) (:%q idx))
    1763   (rcmpq (:%q idx) (:@ (:%seg x8664::rcontext) x8664::tcr.tlb-limit))
    1764   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.tlb-pointer) (:%q table))
     1763  (rcmpq (:%q idx) (:@ (:%seg :rcontext) x8664::tcr.tlb-limit))
     1764  (movq (:@ (:%seg :rcontext) x8664::tcr.tlb-pointer) (:%q table))
    17651765  (jae :symbol)
    17661766  (movq (:@ (:%q table) (:%q idx)) (:%q dest))
     
    17741774                                         ()
    17751775                                         ((temp :u64)))
    1776   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.tlb-pointer) (:%q temp))
     1776  (movq (:@ (:%seg :rcontext) x8664::tcr.tlb-pointer) (:%q temp))
    17771777  (movq (:@ x8664::INTERRUPT-LEVEL-BINDING-INDEX (:%q temp)) (:%q dest)))
    17781778
     
    18341834    (()
    18351835     ((w :u64)))
    1836   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp) (:%mmx x8664::stack-temp)) 
    1837   (subq (:$b 16) (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp))
    1838   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0)) 
     1836  (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%mmx x8664::stack-temp)) 
     1837  (subq (:$b 16) (:@ (:%seg :rcontext) x8664::tcr.foreign-sp))
     1838  (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0)) 
    18391839  (movq (:%mmx x8664::stack-temp) (:@ (:%q x8664::ra0)))
    18401840  (movq (:%q w) (:@ 8 (:%q x8664::ra0))))
     
    18451845         ((w :lisp))
    18461846         ((temp :imm)))
    1847   (subq (:$b (* 2 x8664::dnode-size)) (:@ (:%seg x8664::rcontext) x8664::tcr.next-tsp))
    1848   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.save-tsp) (:%mmx x8664::stack-temp))
    1849   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.next-tsp) (:%q temp))
     1847  (subq (:$b (* 2 x8664::dnode-size)) (:@ (:%seg :rcontext) x8664::tcr.next-tsp))
     1848  (movq (:@ (:%seg :rcontext) x8664::tcr.save-tsp) (:%mmx x8664::stack-temp))
     1849  (movq (:@ (:%seg :rcontext) x8664::tcr.next-tsp) (:%q temp))
    18501850  (movapd (:%xmm x8664::fpzero) (:@ (:%q temp)))
    18511851  (movapd (:%xmm x8664::fpzero) (:@ 16 (:%q temp)))
    18521852  (movq (:%mmx x8664::stack-temp) (:@ (:%q temp)))
    1853   (movq (:%q temp) (:@ (:%seg x8664::rcontext) x8664::tcr.save-tsp))
     1853  (movq (:%q temp) (:@ (:%seg :rcontext) x8664::tcr.save-tsp))
    18541854  (movq (:%q w) (:@ x8664::dnode-size (:%q temp))))
    18551855
     
    18571857    (()
    18581858     ((f :double-float)))
    1859   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp) (:%mmx x8664::stack-temp)) 
    1860   (subq (:$b 16) (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp))
    1861   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0)) 
     1859  (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%mmx x8664::stack-temp)) 
     1860  (subq (:$b 16) (:@ (:%seg :rcontext) x8664::tcr.foreign-sp))
     1861  (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0)) 
    18621862  (movq (:%mmx x8664::stack-temp) (:@ (:%q x8664::ra0)))
    18631863  (movsd (:%xmm f) (:@ 8 (:%q x8664::ra0))))
     
    18791879    (((w :u64))
    18801880     ())
    1881   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
     1881  (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
    18821882  (movq (:@ 8 (:%q x8664::ra0)) (:%q w))
    1883   (addq (:$b 16) (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp)))
     1883  (addq (:$b 16) (:@ (:%seg :rcontext) x8664::tcr.foreign-sp)))
    18841884
    18851885
     
    18881888         ()
    18891889         ((temp :imm)))
    1890   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.save-tsp) (:%q temp))
     1890  (movq (:@ (:%seg :rcontext) x8664::tcr.save-tsp) (:%q temp))
    18911891  (movq (:@ x8664::dnode-size (:%q temp)) (:%q w))
    18921892  (movq (:@ (:%q temp)) (:%q temp))
    1893   (movq (:%q temp) (:@ (:%seg x8664::rcontext) x8664::tcr.save-tsp)) 
    1894   (movq (:%q temp) (:@ (:%seg x8664::rcontext) x8664::tcr.next-tsp)))
     1893  (movq (:%q temp) (:@ (:%seg :rcontext) x8664::tcr.save-tsp)) 
     1894  (movq (:%q temp) (:@ (:%seg :rcontext) x8664::tcr.next-tsp)))
    18951895
    18961896(define-x8664-vinsn (temp-pop-double-float :pop :word :csp)
    18971897    (((f :double-float))
    18981898     ())
    1899   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
     1899  (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
    19001900  (movsd (:@ 8 (:%q x8664::ra0)) (:%xmm f))
    1901   (addq (:$b 16) (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp)))
     1901  (addq (:$b 16) (:@ (:%seg :rcontext) x8664::tcr.foreign-sp)))
    19021902
    19031903
     
    19051905(define-x8664-vinsn macptr->stack (((dest :lisp))
    19061906                                   ((ptr :address)))
    1907   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp) (:%mmx x8664::stack-temp))
    1908   (subq (:$b (+ 16 x8664::macptr.size)) (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp))
    1909   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
     1907  (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%mmx x8664::stack-temp))
     1908  (subq (:$b (+ 16 x8664::macptr.size)) (:@ (:%seg :rcontext) x8664::tcr.foreign-sp))
     1909  (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
    19101910  (movq (:%mmx x8664::stack-temp) (:@ (:%q x8664::ra0)))
    19111911  (leaq (:@ (+ 16 x8664::fulltag-misc) (:%q  x8664::ra0)) (:%q dest))
     
    28802880(define-x8664-vinsn %current-tcr (((dest :lisp))
    28812881                                 ())
    2882   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.linear) (:%q dest)))
     2882  (movq (:@ (:%seg :rcontext) x8664::tcr.linear) (:%q dest)))
    28832883
    28842884(define-x8664-vinsn (setq-special :call :subprim-call)
     
    31333133(define-x8664-vinsn alloc-c-frame (()
    31343134                                   ((nbytes :u32const)))
    3135   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp) (:%mmx x8664::stack-temp))
     3135  (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%mmx x8664::stack-temp))
    31363136  ((:pred < nbytes 128)
    3137    (subq (:$b nbytes) (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp)))
     3137   (subq (:$b nbytes) (:@ (:%seg :rcontext) x8664::tcr.foreign-sp)))
    31383138  ((:not (:pred < nbytes 128))
    3139    (subq (:$l nbytes) (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp)))
    3140   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
     3139   (subq (:$l nbytes) (:@ (:%seg :rcontext) x8664::tcr.foreign-sp)))
     3140  (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
    31413141  (movq (:%mmx x8664::stack-temp) (:@ (:%q x8664::ra0))))
    31423142
     
    31473147  (andb (:$b (lognot x8664::fulltagmask)) (:%b size))
    31483148
    3149   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp) (:%mmx x8664::stack-temp))
    3150   (subq (:%q size) (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp))
    3151   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
     3149  (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%mmx x8664::stack-temp))
     3150  (subq (:%q size) (:@ (:%seg :rcontext) x8664::tcr.foreign-sp))
     3151  (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
    31523152  (movq (:%mmx x8664::stack-temp) (:@ (:%q x8664::ra0))))
    31533153
     
    31553155                               ((arg :u64)
    31563156                                (offset :u32const)))
    3157   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
     3157  (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
    31583158  (movq (:%q arg) (:@ (:apply + 16 (:apply ash offset 3)) (:%q x8664::ra0))))
    31593159
     
    31613161                                      ((arg :single-float)
    31623162                                       (offset :u32const)))
    3163   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
     3163  (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
    31643164  (movss (:%xmm arg) (:@ (:apply + 16 (:apply ash offset 3)) (:%q x8664::ra0))))
    31653165
    31663166(define-x8664-vinsn reload-single-c-arg (((arg :single-float))
    31673167                                         ((offset :u32const)))
    3168   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
     3168  (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
    31693169  (movss (:@ (:apply + 16 (:apply ash offset 3)) (:%q x8664::ra0)) (:%xmm arg)))
    31703170
     
    31723172                                      ((arg :double-float)
    31733173                                       (offset :u32const)))
    3174   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
     3174  (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
    31753175  (movsd (:%xmm arg) (:@ (:apply + 16 (:apply ash offset 3)) (:%q x8664::ra0))))
    31763176
    31773177(define-x8664-vinsn reload-double-c-arg (((arg :double-float))
    31783178                                         ((offset :u32const)))
    3179   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
     3179  (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
    31803180  (movsd (:@ (:apply + 16 (:apply ash offset 3)) (:%q x8664::ra0)) (:%xmm arg)))
    31813181
     
    32013201                                    ((closed :lisp))
    32023202                                    ((temp :imm)))
    3203   (subq (:$b (+ x8664::value-cell.size x8664::dnode-size)) (:@ (:%seg x8664::rcontext) x8664::tcr.next-tsp))
    3204   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.save-tsp) (:%mmx x8664::stack-temp))
    3205   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.next-tsp) (:%q temp))
     3203  (subq (:$b (+ x8664::value-cell.size x8664::dnode-size)) (:@ (:%seg :rcontext) x8664::tcr.next-tsp))
     3204  (movq (:@ (:%seg :rcontext) x8664::tcr.save-tsp) (:%mmx x8664::stack-temp))
     3205  (movq (:@ (:%seg :rcontext) x8664::tcr.next-tsp) (:%q temp))
    32063206  (movapd (:%xmm x8664::fpzero) (:@ (:%q temp)))
    32073207  (movapd (:%xmm x8664::fpzero) (:@ x8664::dnode-size (:%q temp)))
    32083208  (movq (:%mmx x8664::stack-temp) (:@ (:%q temp)))
    3209   (movq (:%q temp) (:@ (:%seg x8664::rcontext) x8664::tcr.save-tsp)) 
     3209  (movq (:%q temp) (:@ (:%seg :rcontext) x8664::tcr.save-tsp)) 
    32103210  (movq (:$l x8664::value-cell-header) (:@ x8664::dnode-size (:%q temp)))
    32113211  (movq (:%q closed) (:@ (+ x8664::dnode-size x8664::node-size) (:%q temp)))
     
    32773277(define-x8664-vinsn %foreign-stack-pointer (((dest :imm))
    32783278                                            ())
    3279   (movq (:@ (:%seg x8664::rcontext) x8664::tcr.foreign-sp) (:%q dest)))
     3279  (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q dest)))
    32803280
    32813281
     
    37083708(define-x8664-vinsn event-poll (()
    37093709                                ())
    3710   (btrq (:$ub 63) (:@ (:%seg x8664::rcontext) x8664::tcr.interrupt-pending))
     3710  (btrq (:$ub 63) (:@ (:%seg :rcontext) x8664::tcr.interrupt-pending))
    37113711  (jae :no-interrupt)
    37123712  (ud2a)
Note: See TracChangeset for help on using the changeset viewer.