Changeset 10796


Ignore:
Timestamp:
Sep 17, 2008, 10:15:57 PM (11 years ago)
Author:
gb
Message:

In start_lisp, don't assume 16-byte stack alignment (depending on
what the constant says.)

File:
1 edited

Legend:

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

    r10725 r10796  
    6868        __(mov 8(%ebp), %ebx)   /* get tcr */
    6969        __(movw tcr.ldt_selector(%ebx), %rcontext_reg)
     70        .if c_stack_16_byte_aligned
    7071        __(sub $12, %esp)       /* stack now 16-byte aligned */
     72        .else
     73        __(andl $~15,%esp)
     74        .endif
    7175        __(clr %arg_z)
    7276        __(clr %arg_y) 
     
    8791        __(movl $TCR_STATE_FOREIGN, rcontext(tcr.valence))
    8892        __(emms)
    89         __(add $12, %esp)       /* discard alignment space */
     93        __(leal -3*node_size(%ebp),%esp)
    9094        __(pop %ebx)
    9195        __(pop %esi)
Note: See TracChangeset for help on using the changeset viewer.