Changeset 9993


Ignore:
Timestamp:
Jul 10, 2008, 10:02:30 AM (12 years ago)
Author:
gb
Message:

use rcontext macro, c register names.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/working-0711/ccl/lisp-kernel/x86-subprims64.s

    r8041 r9993  
    3737        __(push $0)
    3838        __(push $0)
    39         __(movq %rsp,%rcontext:tcr.foreign_sp)
    40         __(movq %rcontext:tcr.save_vsp,%rsp)
     39        __(movq %rsp,rcontext(tcr.foreign_sp))
     40        __(movq rcontext(tcr.save_vsp),%rsp)
    4141        __(push $0)
    4242        __(movq %rsp,%rbp)
     
    6767local_label(back_to_c):
    6868        __(discard_temp_frame(%imm0))
    69         __(movq %rcontext:tcr.foreign_sp,%rsp)
     69        __(movq rcontext(tcr.foreign_sp),%rsp)
    7070        __(addq $dnode_size,%rsp)
    7171        __(movq %rsp,%rbp)
     
    8787        __(push %rbp)
    8888        __(movq %rsp,%rbp)
    89         __(push %rbx)
    90         __(push %r12)
    91         __(push %r13)
    92         __(push %r14)
    93         __(push %r15)
     89        __(push %csave0)
     90        __(push %csave1)
     91        __(push %csave2)
     92        __(push %csave3)
     93        __(push %csave4)
     94        __ifdef([WINDOWS])
     95        __(push %csave5)
     96        __(push %csave6)
     97        /* FIXME: set up %rcontext_reg a.k.a. r11 */
     98        __endif
    9499        __ifdef([DARWIN_GS_HACK])
    95100         __(set_gs_base())
     
    102107        __(clr %temp0)
    103108        __(clr %temp1)
    104         __(clr %temp1)
     109        __(clr %temp2)
    105110        __(clr %fn)
    106         __(clr %ra0)
     111        /*      __(clr %ra0) */ /* %ra0 == %temp2, now zeroed above */
    107112        __(clr %save0)
    108113        __(clr %save1)
    109114        __(clr %save2)
     115        __ifndef([WINDOWS]) /* no %save3, r11 is %rcontext_reg */
    110116        __(clr %save3)
     117        __endif
    111118        __(pxor %fpzero,%fpzero)        /* fpzero = 0.0[d0] */
    112         __(stmxcsr %rcontext:tcr.foreign_mxcsr)
    113         __(andb $~mxcsr_all_exceptions,%rcontext:tcr.foreign_mxcsr)
    114         __(ldmxcsr %rcontext:tcr.lisp_mxcsr)
    115         __(movq $TCR_STATE_LISP,%rcontext:tcr.valence)
     119        __(stmxcsr rcontext(tcr.foreign_mxcsr))
     120        __(andb $~mxcsr_all_exceptions,rcontext(tcr.foreign_mxcsr))
     121        __(ldmxcsr rcontext(tcr.lisp_mxcsr))
     122        __(movq $TCR_STATE_LISP,rcontext(tcr.valence))
    116123        __(call toplevel_loop)
    117         __(movq $TCR_STATE_FOREIGN,%rcontext:tcr.valence)
     124        __(movq $TCR_STATE_FOREIGN,rcontext(tcr.valence))
    118125        __(emms)
    119126        __(addq $8,%rsp)        /* discard alignment word */
    120         __(pop %r15)
    121         __(pop %r14)
    122         __(pop %r13)
    123         __(pop %r12)
    124         __(pop %rbx)
    125         __(ldmxcsr %rcontext:tcr.foreign_mxcsr)
     127        __ifdef([WINDOWS])
     128        __(pop %csave6)
     129        __(pop %csave5)
     130        __endif
     131        __(pop %csave4)
     132        __(pop %csave3)
     133        __(pop %csave2)
     134        __(pop %csave1)
     135        __(pop %csave0)
     136        __(ldmxcsr rcontext(tcr.foreign_mxcsr))
    126137        __ifdef([DARWIN_GS_HACK])
    127138         __(set_foreign_gs_base)
Note: See TracChangeset for help on using the changeset viewer.