Changeset 10509


Ignore:
Timestamp:
Aug 21, 2008, 9:35:22 AM (11 years ago)
Author:
gb
Message:

Finally, use :rcontext syntax in vinsn templates. (Can do this
for x8632 too, for consistency, but if we have to use a GPR for
rcontext on x8632 we're probably doomed.)

File:
1 edited

Legend:

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

    r10498 r10509  
    959959                          ((car :lisp)
    960960                           (cdr :lisp)))
    961   (subq (:$b (- x8664::cons.size x8664::fulltag-cons)) (:@ (:%seg :rcontext) x8664::tcr.save-allocptr))
    962   (movq (:@ (:%seg :rcontext) x8664::tcr.save-allocptr) (:%q x8664::allocptr))
    963   (rcmpq (:%q x8664::allocptr) (:@ (:%seg :rcontext) x8664::tcr.save-allocbase))
     961  (subq (:$b (- x8664::cons.size x8664::fulltag-cons)) (:rcontext x8664::tcr.save-allocptr))
     962  (movq (:rcontext x8664::tcr.save-allocptr) (:%q x8664::allocptr))
     963  (rcmpq (:%q x8664::allocptr) (:rcontext x8664::tcr.save-allocbase))
    964964  (:byte #x7f) (:byte #x02) ;(jg :no-trap)
    965965  (uuo-alloc)
    966966  :no-trap
    967   (andb (:$b (lognot x8664::fulltagmask)) (:@ (:%seg :rcontext) x8664::tcr.save-allocptr))
     967  (andb (:$b (lognot x8664::fulltagmask)) (:rcontext x8664::tcr.save-allocptr))
    968968  (movq (:%q car) (:@ x8664::cons.car (:%q x8664::allocptr)))
    969969  (movq (:%q cdr) (:@ x8664::cons.cdr (:%q x8664::allocptr)))
     
    13071307                                       ((header (:u64 #.x8664::imm0))
    13081308                                        (freeptr (:lisp #.x8664::allocptr))))
    1309   (subq (:%q x8664::imm1) (:@ (:%seg :rcontext) x8664::tcr.save-allocptr))
    1310   (movq (:@ (:%seg :rcontext) x8664::tcr.save-allocptr) (:%q freeptr))
    1311   (rcmpq (:%q freeptr) (:@ (:%seg :rcontext) x8664::tcr.save-allocbase))
     1309  (subq (:%q x8664::imm1) (:rcontext x8664::tcr.save-allocptr))
     1310  (movq (:rcontext x8664::tcr.save-allocptr) (:%q freeptr))
     1311  (rcmpq (:%q freeptr) (:rcontext x8664::tcr.save-allocbase))
    13121312  (:byte #x7f) (:byte #x02) ;(jg :no-trap)
    13131313  (uuo-alloc)
    13141314  :no-trap
    13151315  (movq (:%q header) (:@ x8664::misc-header-offset (:%q freeptr)))
    1316   (andb (:$b (lognot x8664::fulltagmask)) (:@ (:%seg :rcontext) x8664::tcr.save-allocptr))
     1316  (andb (:$b (lognot x8664::fulltagmask)) (:rcontext x8664::tcr.save-allocptr))
    13171317  ((:not (:pred = freeptr
    13181318                (:apply %hard-regspec-value dest)))
     
    18081808                                   ((car :lisp) (cdr :lisp))
    18091809                                   ((temp :imm)))
    1810   (subq (:$b (+ x8664::cons.size x8664::dnode-size)) (:@ (:%seg :rcontext) x8664::tcr.next-tsp))
    1811   (movq (:@ (:%seg :rcontext) x8664::tcr.next-tsp) (:%q temp))
     1810  (subq (:$b (+ x8664::cons.size x8664::dnode-size)) (:rcontext x8664::tcr.next-tsp))
     1811  (movq (:rcontext x8664::tcr.next-tsp) (:%q temp))
    18121812  (movapd (:%xmm x8664::fpzero) (:@ (:%q temp)))
    18131813  (movapd (:%xmm x8664::fpzero) (:@ 16 (:%q temp)))
    1814   (movq (:@ (:%seg :rcontext) x8664::tcr.save-tsp) (:%mmx x8664::stack-temp))
     1814  (movq (:rcontext x8664::tcr.save-tsp) (:%mmx x8664::stack-temp))
    18151815  (movq (:%mmx x8664::stack-temp) (:@ (:%q temp)))
    18161816  (movq (:% x8664::rbp) (:@ x8664::tsp-frame.rbp (:%q temp)))
    1817   (movq (:%q temp) (:@ (:%seg :rcontext) x8664::tcr.save-tsp))
     1817  (movq (:%q temp) (:rcontext x8664::tcr.save-tsp))
    18181818  (leaq (:@ (+ x8664::dnode-size x8664::fulltag-cons) (:%q temp)) (:%q temp))
    18191819  (movq (:%q car) (:@ x8664::cons.car (:%q temp)))
     
    18291829         (:pred <= (:apply + aligned-size x8664::dnode-size) 127))
    18301830   (subq (:$b (:apply + aligned-size x8664::dnode-size))
    1831          (:@ (:%seg :rcontext) x8664::tcr.next-tsp)))
     1831         (:rcontext x8664::tcr.next-tsp)))
    18321832  ((:not (:and (:pred >= (:apply + aligned-size x8664::dnode-size) -128)
    18331833               (:pred <= (:apply + aligned-size x8664::dnode-size) 127)))
    18341834   (subq (:$l (:apply + aligned-size x8664::dnode-size))
    1835          (:@ (:%seg :rcontext) x8664::tcr.next-tsp)))
    1836   (movq (:@ (:%seg :rcontext) x8664::tcr.save-tsp) (:%q tempb))
    1837   (movq (:@ (:%seg :rcontext) x8664::tcr.next-tsp) (:%q tempa))
     1835         (:rcontext x8664::tcr.next-tsp)))
     1836  (movq (:rcontext x8664::tcr.save-tsp) (:%q tempb))
     1837  (movq (:rcontext x8664::tcr.next-tsp) (:%q tempa))
    18381838  (movd (:%q tempb) (:%mmx x8664::stack-temp))
    18391839  :loop
     
    18441844  (movq (:%mmx x8664::stack-temp) (:@ (:%q tempa)))
    18451845  (movq (:% x8664::rbp) (:@ x8664::tsp-frame.rbp (:%q tempa)))
    1846   (movq (:%q tempa) (:@ (:%seg :rcontext) x8664::tcr.save-tsp))
     1846  (movq (:%q tempa) (:rcontext x8664::tcr.save-tsp))
    18471847  (movl (:$l header) (:@ x8664::dnode-size (:%q tempa)))
    18481848  (leaq (:@ (+ x8664::dnode-size x8664::fulltag-misc) (:%q tempa)) (:%q dest)))
     
    18521852                                        ()
    18531853                                        ((temp :imm)))
    1854   (movq (:@ (:%seg :rcontext) x8664::tcr.save-tsp) (:%q temp))
     1854  (movq (:rcontext x8664::tcr.save-tsp) (:%q temp))
    18551855  (movq (:@ (:%q temp)) (:%q temp))
    1856   (movq (:%q temp) (:@ (:%seg :rcontext) x8664::tcr.save-tsp))
    1857   (movq (:%q temp) (:@ (:%seg :rcontext) x8664::tcr.next-tsp))
     1856  (movq (:%q temp) (:rcontext x8664::tcr.save-tsp))
     1857  (movq (:%q temp) (:rcontext x8664::tcr.next-tsp))
    18581858  )
    18591859
     
    18611861                                     ()
    18621862                                     ((temp :imm)))
    1863   (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q temp))
     1863  (movq (:rcontext x8664::tcr.foreign-sp) (:%q temp))
    18641864  (movq (:@ (:%q temp)) (:%q temp))
    1865   (movq (:%q temp) (:@ (:%seg :rcontext) x8664::tcr.foreign-sp)))
     1865  (movq (:%q temp) (:rcontext x8664::tcr.foreign-sp)))
    18661866
    18671867 
     
    19101910                                                   ()
    19111911                                                   ((temp :imm)))
    1912   (movq (:@ (:%seg :rcontext) x8664::tcr.tlb-pointer) (:%q temp))
     1912  (movq (:rcontext x8664::tcr.tlb-pointer) (:%q temp))
    19131913  (cmpq (:$b 0) (:@ x8664::interrupt-level-binding-index (:%q temp)))
    19141914  (pushq (:@ x8664::interrupt-level-binding-index (:%q temp)))
    19151915  (pushq (:$b x8664::interrupt-level-binding-index))
    1916   (pushq (:@ (:%seg :rcontext) x8664::tcr.db-link))
     1916  (pushq (:rcontext x8664::tcr.db-link))
    19171917  (movq (:$l 0) (:@ x8664::interrupt-level-binding-index (:%q temp)))
    1918   (movq (:%q x8664::rsp) (:@ (:%seg :rcontext) x8664::tcr.db-link))
     1918  (movq (:%q x8664::rsp) (:rcontext x8664::tcr.db-link))
    19191919  (jns :done)
    1920   (btrq (:$ub 63) (:@ (:%seg :rcontext) x8664::tcr.interrupt-pending))
     1920  (btrq (:$ub 63) (:rcontext x8664::tcr.interrupt-pending))
    19211921  (jae :done)
    19221922  (ud2a)
     
    19311931                                                   ()
    19321932                                                   ((temp :imm)))
    1933   (movq (:@ (:%seg :rcontext) x8664::tcr.tlb-pointer) (:%q temp))
     1933  (movq (:rcontext x8664::tcr.tlb-pointer) (:%q temp))
    19341934  (pushq (:@ x8664::interrupt-level-binding-index (:%q temp)))
    19351935  (pushq (:$b x8664::interrupt-level-binding-index))
    1936   (pushq (:@ (:%seg :rcontext) x8664::tcr.db-link))
     1936  (pushq (:rcontext x8664::tcr.db-link))
    19371937  (movq (:$l (ash -1 x8664::fixnumshift)) (:@ x8664::interrupt-level-binding-index (:%q temp)))
    1938   (movq (:%q x8664::rsp) (:@ (:%seg :rcontext) x8664::tcr.db-link)))
     1938  (movq (:%q x8664::rsp) (:rcontext x8664::tcr.db-link)))
    19391939
    19401940(define-x8664-subprim-lea-jmp-vinsn (bind-interrupt-level) .SPbind-interrupt-level)
     
    19481948                                                    (oldval :imm)
    19491949                                                    (tlb :imm)))
    1950   (movq (:@ (:%seg :rcontext) x8664::tcr.tlb-pointer) (:%q tlb))
    1951   (movq (:@ (:%seg :rcontext) x8664::tcr.db-link) (:%q link))
     1950  (movq (:rcontext x8664::tcr.tlb-pointer) (:%q tlb))
     1951  (movq (:rcontext x8664::tcr.db-link) (:%q link))
    19521952  (movq (:@ x8664::interrupt-level-binding-index (:%q tlb)) (:%q curval))
    19531953  (testq (:%q curval) (:%q curval))
     
    19551955  (movq (:@ #|binding.link|# (:%q link)) (:%q link))
    19561956  (movq (:%q oldval) (:@ x8664::interrupt-level-binding-index (:%q tlb)))
    1957   (movq (:%q link) (:@ (:%seg :rcontext) x8664::tcr.db-link))
     1957  (movq (:%q link) (:rcontext x8664::tcr.db-link))
    19581958  (jns :done)
    19591959  (testq (:%q oldval) (:%q oldval))
    19601960  (js :done)
    1961   (btrq (:$ub 63) (:@ (:%seg :rcontext) x8664::tcr.interrupt-pending))
     1961  (btrq (:$ub 63) (:rcontext x8664::tcr.interrupt-pending))
    19621962  (jae :done)
    19631963  (ud2a)
     
    20862086  :resume
    20872087  (movq (:@ x8664::symbol.binding-index (:%q src)) (:%q idx))
    2088   (rcmpq (:%q idx) (:@ (:%seg :rcontext) x8664::tcr.tlb-limit))
    2089   (movq (:@ (:%seg :rcontext) x8664::tcr.tlb-pointer) (:%q table))
     2088  (rcmpq (:%q idx) (:rcontext x8664::tcr.tlb-limit))
     2089  (movq (:rcontext x8664::tcr.tlb-pointer) (:%q table))
    20902090  (jae :symbol)
    20912091  (movq (:@ (:%q table) (:%q idx)) (:%q dest))
     
    21162116                                               (idx :imm)))
    21172117  (movq (:@ x8664::symbol.binding-index (:%q src)) (:%q idx))
    2118   (rcmpq (:%q idx) (:@ (:%seg :rcontext) x8664::tcr.tlb-limit))
    2119   (movq (:@ (:%seg :rcontext) x8664::tcr.tlb-pointer) (:%q table))
     2118  (rcmpq (:%q idx) (:rcontext x8664::tcr.tlb-limit))
     2119  (movq (:rcontext x8664::tcr.tlb-pointer) (:%q table))
    21202120  (jae :symbol)
    21212121  (movq (:@ (:%q table) (:%q idx)) (:%q dest))
     
    21292129                                         ()
    21302130                                         ((temp :u64)))
    2131   (movq (:@ (:%seg :rcontext) x8664::tcr.tlb-pointer) (:%q temp))
     2131  (movq (:rcontext x8664::tcr.tlb-pointer) (:%q temp))
    21322132  (movq (:@ x8664::INTERRUPT-LEVEL-BINDING-INDEX (:%q temp)) (:%q dest)))
    21332133
     
    22082208    (()
    22092209     ((w :u64)))
    2210   (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%mmx x8664::stack-temp)) 
    2211   (subq (:$b (* 2 x8664::dnode-size)) (:@ (:%seg :rcontext) x8664::tcr.foreign-sp))
    2212   (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
     2210  (movq (:rcontext x8664::tcr.foreign-sp) (:%mmx x8664::stack-temp)) 
     2211  (subq (:$b (* 2 x8664::dnode-size)) (:rcontext x8664::tcr.foreign-sp))
     2212  (movq (:rcontext x8664::tcr.foreign-sp) (:%q x8664::ra0))
    22132213  (movq (:%mmx x8664::stack-temp) (:@ (:%q x8664::ra0)))
    22142214  (movq (:% x8664::rbp) (:@ x8664::csp-frame.rbp (:%q x8664::ra0)))
     
    22202220         ((w :lisp))
    22212221         ((temp :imm)))
    2222   (subq (:$b (* 2 x8664::dnode-size)) (:@ (:%seg :rcontext) x8664::tcr.next-tsp))
    2223   (movq (:@ (:%seg :rcontext) x8664::tcr.save-tsp) (:%mmx x8664::stack-temp))
    2224   (movq (:@ (:%seg :rcontext) x8664::tcr.next-tsp) (:%q temp))
     2222  (subq (:$b (* 2 x8664::dnode-size)) (:rcontext x8664::tcr.next-tsp))
     2223  (movq (:rcontext x8664::tcr.save-tsp) (:%mmx x8664::stack-temp))
     2224  (movq (:rcontext x8664::tcr.next-tsp) (:%q temp))
    22252225  (movapd (:%xmm x8664::fpzero) (:@ (:%q temp)))
    22262226  (movapd (:%xmm x8664::fpzero) (:@ 16 (:%q temp)))
    22272227  (movq (:%mmx x8664::stack-temp) (:@ (:%q temp)))
    22282228  (movq (:% x8664::rbp) (:@ x8664::tsp-frame.rbp (:%q temp))) 
    2229   (movq (:%q temp) (:@ (:%seg :rcontext) x8664::tcr.save-tsp))
     2229  (movq (:%q temp) (:rcontext x8664::tcr.save-tsp))
    22302230  (movq (:%q w) (:@ x8664::dnode-size (:%q temp))))
    22312231
     
    22332233    (()
    22342234     ((f :double-float)))
    2235   (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%mmx x8664::stack-temp)) 
    2236   (subq (:$b (* 2 x8664::dnode-size)) (:@ (:%seg :rcontext) x8664::tcr.foreign-sp))
    2237   (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0)) 
     2235  (movq (:rcontext x8664::tcr.foreign-sp) (:%mmx x8664::stack-temp)) 
     2236  (subq (:$b (* 2 x8664::dnode-size)) (:rcontext x8664::tcr.foreign-sp))
     2237  (movq (:rcontext x8664::tcr.foreign-sp) (:%q x8664::ra0)) 
    22382238  (movq (:%mmx x8664::stack-temp) (:@ (:%q x8664::ra0)))
    22392239  (movq (:% x8664::rbp) (:@ x8664::csp-frame.rbp (:%q x8664::ra0)))
     
    22562256    (((w :u64))
    22572257     ())
    2258   (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
     2258  (movq (:rcontext x8664::tcr.foreign-sp) (:%q x8664::ra0))
    22592259  (movq (:@ x8664::dnode-size (:%q x8664::ra0)) (:%q w))
    2260   (addq (:$b (* 2 x8664::dnode-size)) (:@ (:%seg :rcontext) x8664::tcr.foreign-sp)))
     2260  (addq (:$b (* 2 x8664::dnode-size)) (:rcontext x8664::tcr.foreign-sp)))
    22612261
    22622262
     
    22652265         ()
    22662266         ((temp :imm)))
    2267   (movq (:@ (:%seg :rcontext) x8664::tcr.save-tsp) (:%q temp))
     2267  (movq (:rcontext x8664::tcr.save-tsp) (:%q temp))
    22682268  (movq (:@ x8664::dnode-size (:%q temp)) (:%q w))
    22692269  (movq (:@ (:%q temp)) (:%q temp))
    2270   (movq (:%q temp) (:@ (:%seg :rcontext) x8664::tcr.save-tsp)) 
    2271   (movq (:%q temp) (:@ (:%seg :rcontext) x8664::tcr.next-tsp)))
     2270  (movq (:%q temp) (:rcontext x8664::tcr.save-tsp)) 
     2271  (movq (:%q temp) (:rcontext x8664::tcr.next-tsp)))
    22722272
    22732273(define-x8664-vinsn (temp-pop-double-float :pop :word :csp)
    22742274    (((f :double-float))
    22752275     ())
    2276   (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
     2276  (movq (:rcontext x8664::tcr.foreign-sp) (:%q x8664::ra0))
    22772277  (movapd (:@ x8664::dnode-size (:%q x8664::ra0)) (:%xmm f))
    2278   (addq (:$b (* 2 x8664::dnode-size)) (:@ (:%seg :rcontext) x8664::tcr.foreign-sp)))
     2278  (addq (:$b (* 2 x8664::dnode-size)) (:rcontext x8664::tcr.foreign-sp)))
    22792279
    22802280
     
    22822282(define-x8664-vinsn macptr->stack (((dest :lisp))
    22832283                                   ((ptr :address)))
    2284   (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%mmx x8664::stack-temp))
    2285   (subq (:$b (+ x8664::dnode-size x8664::macptr.size)) (:@ (:%seg :rcontext) x8664::tcr.foreign-sp))
    2286   (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
     2284  (movq (:rcontext x8664::tcr.foreign-sp) (:%mmx x8664::stack-temp))
     2285  (subq (:$b (+ x8664::dnode-size x8664::macptr.size)) (:rcontext x8664::tcr.foreign-sp))
     2286  (movq (:rcontext x8664::tcr.foreign-sp) (:%q x8664::ra0))
    22872287  (movq (:%mmx x8664::stack-temp) (:@ (:%q x8664::ra0)))
    22882288  (movq (:% x8664::rbp) (:@ x8664::csp-frame.rbp (:%q x8664::ra0)))
     
    34323432(define-x8664-vinsn %current-tcr (((dest :lisp))
    34333433                                 ())
    3434   (movq (:@ (:%seg :rcontext) x8664::tcr.linear) (:%q dest)))
     3434  (movq (:rcontext x8664::tcr.linear) (:%q dest)))
    34353435
    34363436(define-x8664-vinsn (setq-special :call :subprim-call)
     
    37273727(define-x8664-vinsn alloc-c-frame (()
    37283728                                   ((nwords :u32const)))
    3729   (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%mmx x8664::stack-temp))
     3729  (movq (:rcontext x8664::tcr.foreign-sp) (:%mmx x8664::stack-temp))
    37303730  ((:pred < (:apply ash (:apply logandc2 (:apply + nwords 9) 1) x8664::word-shift) 128)
    3731    (subq (:$b (:apply ash (:apply logandc2 (:apply + nwords 9) 1) x8664::word-shift)) (:@ (:%seg :rcontext) x8664::tcr.foreign-sp)))
     3731   (subq (:$b (:apply ash (:apply logandc2 (:apply + nwords 9) 1) x8664::word-shift)) (:rcontext x8664::tcr.foreign-sp)))
    37323732  ((:not (:pred < (:apply ash (:apply logandc2 (:apply + nwords 9) 1) x8664::word-shift) 128))
    3733    (subq (:$l (:apply ash (:apply logandc2 (:apply + nwords 9) 1) x8664::word-shift)) (:@ (:%seg :rcontext) x8664::tcr.foreign-sp)))
    3734   (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
     3733   (subq (:$l (:apply ash (:apply logandc2 (:apply + nwords 9) 1) x8664::word-shift)) (:rcontext x8664::tcr.foreign-sp)))
     3734  (movq (:rcontext x8664::tcr.foreign-sp) (:%q x8664::ra0))
    37353735  (movq (:%mmx x8664::stack-temp) (:@ (:%q x8664::ra0)))
    37363736  (movq (:% x8664::rbp) (:@ x8664::csp-frame.rbp (:%q x8664::ra0))))
     
    37423742  (andb (:$b (lognot x8664::fulltagmask)) (:%b size))
    37433743
    3744   (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%mmx x8664::stack-temp))
    3745   (subq (:%q size) (:@ (:%seg :rcontext) x8664::tcr.foreign-sp))
    3746   (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
     3744  (movq (:rcontext x8664::tcr.foreign-sp) (:%mmx x8664::stack-temp))
     3745  (subq (:%q size) (:rcontext x8664::tcr.foreign-sp))
     3746  (movq (:rcontext x8664::tcr.foreign-sp) (:%q x8664::ra0))
    37473747  (movq (:%mmx x8664::stack-temp) (:@ (:%q x8664::ra0)))
    37483748  (movq (:% x8664::rbp) (:@ x8664::csp-frame.rbp (:%q x8664::ra0))))
     
    37513751                               ((arg :u64)
    37523752                                (offset :u32const)))
    3753   (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
     3753  (movq (:rcontext x8664::tcr.foreign-sp) (:%q x8664::ra0))
    37543754  (movq (:%q arg) (:@ (:apply + 16 (:apply ash offset 3)) (:%q x8664::ra0))))
    37553755
     
    37573757                                      ((arg :single-float)
    37583758                                       (offset :u32const)))
    3759   (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
     3759  (movq (:rcontext x8664::tcr.foreign-sp) (:%q x8664::ra0))
    37603760  (movss (:%xmm arg) (:@ (:apply + 16 (:apply ash offset 3)) (:%q x8664::ra0))))
    37613761
    37623762(define-x8664-vinsn reload-single-c-arg (((arg :single-float))
    37633763                                         ((offset :u32const)))
    3764   (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
     3764  (movq (:rcontext x8664::tcr.foreign-sp) (:%q x8664::ra0))
    37653765  (movss (:@ (:apply + 16 (:apply ash offset 3)) (:%q x8664::ra0)) (:%xmm arg)))
    37663766
     
    37683768                                      ((arg :double-float)
    37693769                                       (offset :u32const)))
    3770   (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
     3770  (movq (:rcontext x8664::tcr.foreign-sp) (:%q x8664::ra0))
    37713771  (movsd (:%xmm arg) (:@ (:apply + 16 (:apply ash offset 3)) (:%q x8664::ra0))))
    37723772
    37733773(define-x8664-vinsn reload-double-c-arg (((arg :double-float))
    37743774                                         ((offset :u32const)))
    3775   (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q x8664::ra0))
     3775  (movq (:rcontext x8664::tcr.foreign-sp) (:%q x8664::ra0))
    37763776  (movsd (:@ (:apply + 16 (:apply ash offset 3)) (:%q x8664::ra0)) (:%xmm arg)))
    37773777
     
    38023802                                    ((closed :lisp))
    38033803                                    ((temp :imm)))
    3804   (subq (:$b (+ x8664::value-cell.size x8664::dnode-size)) (:@ (:%seg :rcontext) x8664::tcr.next-tsp))
    3805   (movq (:@ (:%seg :rcontext) x8664::tcr.save-tsp) (:%mmx x8664::stack-temp))
    3806   (movq (:@ (:%seg :rcontext) x8664::tcr.next-tsp) (:%q temp))
     3804  (subq (:$b (+ x8664::value-cell.size x8664::dnode-size)) (:rcontext x8664::tcr.next-tsp))
     3805  (movq (:rcontext x8664::tcr.save-tsp) (:%mmx x8664::stack-temp))
     3806  (movq (:rcontext x8664::tcr.next-tsp) (:%q temp))
    38073807  (movapd (:%xmm x8664::fpzero) (:@ (:%q temp)))
    38083808  (movapd (:%xmm x8664::fpzero) (:@ x8664::dnode-size (:%q temp)))
    38093809  (movq (:%mmx x8664::stack-temp) (:@ (:%q temp)))
    38103810  (movq (:% x8664::rbp) (:@ x8664::tsp-frame.rbp (:%q temp))) 
    3811   (movq (:%q temp) (:@ (:%seg :rcontext) x8664::tcr.save-tsp)) 
     3811  (movq (:%q temp) (:rcontext x8664::tcr.save-tsp)) 
    38123812  (movq (:$l x8664::value-cell-header) (:@ x8664::dnode-size (:%q temp)))
    38133813  (movq (:%q closed) (:@ (+ x8664::dnode-size x8664::node-size) (:%q temp)))
     
    38843884(define-x8664-vinsn %foreign-stack-pointer (((dest :imm))
    38853885                                            ())
    3886   (movq (:@ (:%seg :rcontext) x8664::tcr.foreign-sp) (:%q dest)))
     3886  (movq (:rcontext x8664::tcr.foreign-sp) (:%q dest)))
    38873887
    38883888
     
    43964396(define-x8664-vinsn event-poll (()
    43974397                                ())
    4398   (btrq (:$ub 63) (:@ (:%seg :rcontext) x8664::tcr.interrupt-pending))
     4398  (btrq (:$ub 63) (:rcontext x8664::tcr.interrupt-pending))
    43994399  (jae :no-interrupt)
    44004400  (ud2a)
Note: See TracChangeset for help on using the changeset viewer.