Changeset 10509
- Timestamp:
- 08/21/08 05:35:22 (3 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/source/compiler/X86/X8664/x8664-vinsns.lisp
r10498 r10509 959 959 ((car :lisp) 960 960 (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)) 964 964 (:byte #x7f) (:byte #x02) ;(jg :no-trap) 965 965 (uuo-alloc) 966 966 :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)) 968 968 (movq (:%q car) (:@ x8664::cons.car (:%q x8664::allocptr))) 969 969 (movq (:%q cdr) (:@ x8664::cons.cdr (:%q x8664::allocptr))) … … 1307 1307 ((header (:u64 #.x8664::imm0)) 1308 1308 (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)) 1312 1312 (:byte #x7f) (:byte #x02) ;(jg :no-trap) 1313 1313 (uuo-alloc) 1314 1314 :no-trap 1315 1315 (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)) 1317 1317 ((:not (:pred = freeptr 1318 1318 (:apply %hard-regspec-value dest))) … … 1808 1808 ((car :lisp) (cdr :lisp)) 1809 1809 ((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)) 1812 1812 (movapd (:%xmm x8664::fpzero) (:@ (:%q temp))) 1813 1813 (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)) 1815 1815 (movq (:%mmx x8664::stack-temp) (:@ (:%q temp))) 1816 1816 (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)) 1818 1818 (leaq (:@ (+ x8664::dnode-size x8664::fulltag-cons) (:%q temp)) (:%q temp)) 1819 1819 (movq (:%q car) (:@ x8664::cons.car (:%q temp))) … … 1829 1829 (:pred <= (:apply + aligned-size x8664::dnode-size) 127)) 1830 1830 (subq (:$b (:apply + aligned-size x8664::dnode-size)) 1831 (: @ (:%seg :rcontext)x8664::tcr.next-tsp)))1831 (:rcontext x8664::tcr.next-tsp))) 1832 1832 ((:not (:and (:pred >= (:apply + aligned-size x8664::dnode-size) -128) 1833 1833 (:pred <= (:apply + aligned-size x8664::dnode-size) 127))) 1834 1834 (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)) 1838 1838 (movd (:%q tempb) (:%mmx x8664::stack-temp)) 1839 1839 :loop … … 1844 1844 (movq (:%mmx x8664::stack-temp) (:@ (:%q tempa))) 1845 1845 (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)) 1847 1847 (movl (:$l header) (:@ x8664::dnode-size (:%q tempa))) 1848 1848 (leaq (:@ (+ x8664::dnode-size x8664::fulltag-misc) (:%q tempa)) (:%q dest))) … … 1852 1852 () 1853 1853 ((temp :imm))) 1854 (movq (: @ (:%seg :rcontext)x8664::tcr.save-tsp) (:%q temp))1854 (movq (:rcontext x8664::tcr.save-tsp) (:%q temp)) 1855 1855 (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)) 1858 1858 ) 1859 1859 … … 1861 1861 () 1862 1862 ((temp :imm))) 1863 (movq (: @ (:%seg :rcontext)x8664::tcr.foreign-sp) (:%q temp))1863 (movq (:rcontext x8664::tcr.foreign-sp) (:%q temp)) 1864 1864 (movq (:@ (:%q temp)) (:%q temp)) 1865 (movq (:%q temp) (: @ (:%seg :rcontext)x8664::tcr.foreign-sp)))1865 (movq (:%q temp) (:rcontext x8664::tcr.foreign-sp))) 1866 1866 1867 1867 … … 1910 1910 () 1911 1911 ((temp :imm))) 1912 (movq (: @ (:%seg :rcontext)x8664::tcr.tlb-pointer) (:%q temp))1912 (movq (:rcontext x8664::tcr.tlb-pointer) (:%q temp)) 1913 1913 (cmpq (:$b 0) (:@ x8664::interrupt-level-binding-index (:%q temp))) 1914 1914 (pushq (:@ x8664::interrupt-level-binding-index (:%q temp))) 1915 1915 (pushq (:$b x8664::interrupt-level-binding-index)) 1916 (pushq (: @ (:%seg :rcontext)x8664::tcr.db-link))1916 (pushq (:rcontext x8664::tcr.db-link)) 1917 1917 (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)) 1919 1919 (jns :done) 1920 (btrq (:$ub 63) (: @ (:%seg :rcontext)x8664::tcr.interrupt-pending))1920 (btrq (:$ub 63) (:rcontext x8664::tcr.interrupt-pending)) 1921 1921 (jae :done) 1922 1922 (ud2a) … … 1931 1931 () 1932 1932 ((temp :imm))) 1933 (movq (: @ (:%seg :rcontext)x8664::tcr.tlb-pointer) (:%q temp))1933 (movq (:rcontext x8664::tcr.tlb-pointer) (:%q temp)) 1934 1934 (pushq (:@ x8664::interrupt-level-binding-index (:%q temp))) 1935 1935 (pushq (:$b x8664::interrupt-level-binding-index)) 1936 (pushq (: @ (:%seg :rcontext)x8664::tcr.db-link))1936 (pushq (:rcontext x8664::tcr.db-link)) 1937 1937 (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))) 1939 1939 1940 1940 (define-x8664-subprim-lea-jmp-vinsn (bind-interrupt-level) .SPbind-interrupt-level) … … 1948 1948 (oldval :imm) 1949 1949 (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)) 1952 1952 (movq (:@ x8664::interrupt-level-binding-index (:%q tlb)) (:%q curval)) 1953 1953 (testq (:%q curval) (:%q curval)) … … 1955 1955 (movq (:@ #|binding.link|# (:%q link)) (:%q link)) 1956 1956 (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)) 1958 1958 (jns :done) 1959 1959 (testq (:%q oldval) (:%q oldval)) 1960 1960 (js :done) 1961 (btrq (:$ub 63) (: @ (:%seg :rcontext)x8664::tcr.interrupt-pending))1961 (btrq (:$ub 63) (:rcontext x8664::tcr.interrupt-pending)) 1962 1962 (jae :done) 1963 1963 (ud2a) … … 2086 2086 :resume 2087 2087 (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)) 2090 2090 (jae :symbol) 2091 2091 (movq (:@ (:%q table) (:%q idx)) (:%q dest)) … … 2116 2116 (idx :imm))) 2117 2117 (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)) 2120 2120 (jae :symbol) 2121 2121 (movq (:@ (:%q table) (:%q idx)) (:%q dest)) … … 2129 2129 () 2130 2130 ((temp :u64))) 2131 (movq (: @ (:%seg :rcontext)x8664::tcr.tlb-pointer) (:%q temp))2131 (movq (:rcontext x8664::tcr.tlb-pointer) (:%q temp)) 2132 2132 (movq (:@ x8664::INTERRUPT-LEVEL-BINDING-INDEX (:%q temp)) (:%q dest))) 2133 2133 … … 2208 2208 (() 2209 2209 ((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)) 2213 2213 (movq (:%mmx x8664::stack-temp) (:@ (:%q x8664::ra0))) 2214 2214 (movq (:% x8664::rbp) (:@ x8664::csp-frame.rbp (:%q x8664::ra0))) … … 2220 2220 ((w :lisp)) 2221 2221 ((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)) 2225 2225 (movapd (:%xmm x8664::fpzero) (:@ (:%q temp))) 2226 2226 (movapd (:%xmm x8664::fpzero) (:@ 16 (:%q temp))) 2227 2227 (movq (:%mmx x8664::stack-temp) (:@ (:%q temp))) 2228 2228 (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)) 2230 2230 (movq (:%q w) (:@ x8664::dnode-size (:%q temp)))) 2231 2231 … … 2233 2233 (() 2234 2234 ((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)) 2238 2238 (movq (:%mmx x8664::stack-temp) (:@ (:%q x8664::ra0))) 2239 2239 (movq (:% x8664::rbp) (:@ x8664::csp-frame.rbp (:%q x8664::ra0))) … … 2256 2256 (((w :u64)) 2257 2257 ()) 2258 (movq (: @ (:%seg :rcontext)x8664::tcr.foreign-sp) (:%q x8664::ra0))2258 (movq (:rcontext x8664::tcr.foreign-sp) (:%q x8664::ra0)) 2259 2259 (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))) 2261 2261 2262 2262 … … 2265 2265 () 2266 2266 ((temp :imm))) 2267 (movq (: @ (:%seg :rcontext)x8664::tcr.save-tsp) (:%q temp))2267 (movq (:rcontext x8664::tcr.save-tsp) (:%q temp)) 2268 2268 (movq (:@ x8664::dnode-size (:%q temp)) (:%q w)) 2269 2269 (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))) 2272 2272 2273 2273 (define-x8664-vinsn (temp-pop-double-float :pop :word :csp) 2274 2274 (((f :double-float)) 2275 2275 ()) 2276 (movq (: @ (:%seg :rcontext)x8664::tcr.foreign-sp) (:%q x8664::ra0))2276 (movq (:rcontext x8664::tcr.foreign-sp) (:%q x8664::ra0)) 2277 2277 (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))) 2279 2279 2280 2280 … … 2282 2282 (define-x8664-vinsn macptr->stack (((dest :lisp)) 2283 2283 ((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)) 2287 2287 (movq (:%mmx x8664::stack-temp) (:@ (:%q x8664::ra0))) 2288 2288 (movq (:% x8664::rbp) (:@ x8664::csp-frame.rbp (:%q x8664::ra0))) … … 3432 3432 (define-x8664-vinsn %current-tcr (((dest :lisp)) 3433 3433 ()) 3434 (movq (: @ (:%seg :rcontext)x8664::tcr.linear) (:%q dest)))3434 (movq (:rcontext x8664::tcr.linear) (:%q dest))) 3435 3435 3436 3436 (define-x8664-vinsn (setq-special :call :subprim-call) … … 3727 3727 (define-x8664-vinsn alloc-c-frame (() 3728 3728 ((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)) 3730 3730 ((: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))) 3732 3732 ((: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)) 3735 3735 (movq (:%mmx x8664::stack-temp) (:@ (:%q x8664::ra0))) 3736 3736 (movq (:% x8664::rbp) (:@ x8664::csp-frame.rbp (:%q x8664::ra0)))) … … 3742 3742 (andb (:$b (lognot x8664::fulltagmask)) (:%b size)) 3743 3743 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)) 3747 3747 (movq (:%mmx x8664::stack-temp) (:@ (:%q x8664::ra0))) 3748 3748 (movq (:% x8664::rbp) (:@ x8664::csp-frame.rbp (:%q x8664::ra0)))) … … 3751 3751 ((arg :u64) 3752 3752 (offset :u32const))) 3753 (movq (: @ (:%seg :rcontext)x8664::tcr.foreign-sp) (:%q x8664::ra0))3753 (movq (:rcontext x8664::tcr.foreign-sp) (:%q x8664::ra0)) 3754 3754 (movq (:%q arg) (:@ (:apply + 16 (:apply ash offset 3)) (:%q x8664::ra0)))) 3755 3755 … … 3757 3757 ((arg :single-float) 3758 3758 (offset :u32const))) 3759 (movq (: @ (:%seg :rcontext)x8664::tcr.foreign-sp) (:%q x8664::ra0))3759 (movq (:rcontext x8664::tcr.foreign-sp) (:%q x8664::ra0)) 3760 3760 (movss (:%xmm arg) (:@ (:apply + 16 (:apply ash offset 3)) (:%q x8664::ra0)))) 3761 3761 3762 3762 (define-x8664-vinsn reload-single-c-arg (((arg :single-float)) 3763 3763 ((offset :u32const))) 3764 (movq (: @ (:%seg :rcontext)x8664::tcr.foreign-sp) (:%q x8664::ra0))3764 (movq (:rcontext x8664::tcr.foreign-sp) (:%q x8664::ra0)) 3765 3765 (movss (:@ (:apply + 16 (:apply ash offset 3)) (:%q x8664::ra0)) (:%xmm arg))) 3766 3766 … … 3768 3768 ((arg :double-float) 3769 3769 (offset :u32const))) 3770 (movq (: @ (:%seg :rcontext)x8664::tcr.foreign-sp) (:%q x8664::ra0))3770 (movq (:rcontext x8664::tcr.foreign-sp) (:%q x8664::ra0)) 3771 3771 (movsd (:%xmm arg) (:@ (:apply + 16 (:apply ash offset 3)) (:%q x8664::ra0)))) 3772 3772 3773 3773 (define-x8664-vinsn reload-double-c-arg (((arg :double-float)) 3774 3774 ((offset :u32const))) 3775 (movq (: @ (:%seg :rcontext)x8664::tcr.foreign-sp) (:%q x8664::ra0))3775 (movq (:rcontext x8664::tcr.foreign-sp) (:%q x8664::ra0)) 3776 3776 (movsd (:@ (:apply + 16 (:apply ash offset 3)) (:%q x8664::ra0)) (:%xmm arg))) 3777 3777 … … 3802 3802 ((closed :lisp)) 3803 3803 ((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)) 3807 3807 (movapd (:%xmm x8664::fpzero) (:@ (:%q temp))) 3808 3808 (movapd (:%xmm x8664::fpzero) (:@ x8664::dnode-size (:%q temp))) 3809 3809 (movq (:%mmx x8664::stack-temp) (:@ (:%q temp))) 3810 3810 (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)) 3812 3812 (movq (:$l x8664::value-cell-header) (:@ x8664::dnode-size (:%q temp))) 3813 3813 (movq (:%q closed) (:@ (+ x8664::dnode-size x8664::node-size) (:%q temp))) … … 3884 3884 (define-x8664-vinsn %foreign-stack-pointer (((dest :imm)) 3885 3885 ()) 3886 (movq (: @ (:%seg :rcontext)x8664::tcr.foreign-sp) (:%q dest)))3886 (movq (:rcontext x8664::tcr.foreign-sp) (:%q dest))) 3887 3887 3888 3888 … … 4396 4396 (define-x8664-vinsn event-poll (() 4397 4397 ()) 4398 (btrq (:$ub 63) (: @ (:%seg :rcontext)x8664::tcr.interrupt-pending))4398 (btrq (:$ub 63) (:rcontext x8664::tcr.interrupt-pending)) 4399 4399 (jae :no-interrupt) 4400 4400 (ud2a)
