Changeset 11247


Ignore:
Timestamp:
Oct 30, 2008, 1:17:30 PM (11 years ago)
Author:
gb
Message:

Conditionalize switch_to_foreign_stack to emphasize that it's not used
on Win64 (there's a special Win64 version.) Since we don't have to
worry about non-standard ABIs, use real register names.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/lisp-kernel/x86-asmutils64.s

    r11008 r11247  
    152152/* switch_to_foreign_stack(new_sp, func, arg_0, arg_1, arg_2, arg_3)  */
    153153/*   Not fully general, but should get us off of the signal stack */
     154        __ifndef([WINDOWS])
    154155_exportfn(C(switch_to_foreign_stack))
    155         __ifdef([WINDOWS])
    156         __(movq 8(%rsp), %ctemp0)
    157         __(movq 16(%rsp), %ctemp1)
    158         __endif
    159         __(movq %carg0,%rsp)
    160         __(movq %carg1,%rax)
    161         __(movq %carg2,%carg0)
    162         __(movq %carg3,%carg1)
    163         __ifdef([WINDOWS])
    164         __(movq %ctemp0, %carg2)
    165         __(movq %ctemp1, %carg3)
    166         __else
    167         __(movq %carg4,%carg2)
    168         __(movq %carg5,%carg3)
    169         __endif
     156        __(movq %rdi,%rsp)
     157        __(movq %rsi,%rax)
     158        __(movq %rdx,%rdi)
     159        __(movq %rcx,%rsi)
     160        __(movq %r8,%rdx)
     161        __(movq %r9,%rcx)
    170162        __(jmp *%rax)
    171163_endfn
    172 
     164        __endif
     165       
    173166_exportfn(C(freebsd_sigreturn))
    174167        __(movl $417,%eax)      /* SYS_sigreturn */
Note: See TracChangeset for help on using the changeset viewer.