Changeset 11236


Ignore:
Timestamp:
Oct 27, 2008, 6:27:37 PM (11 years ago)
Author:
rme
Message:

SPcallback: when calling get_tcr(), ensure that the stack is 16-byte
aligned. (Darwin can get all bent out of shape if the stack isn't
16-byte aligned at the point of a CALL.)

File:
1 edited

Legend:

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

    r11230 r11236  
    42464246        __(box_fixnum(%eax,%esi))       /* put callback index in arg_y */
    42474247        __(ref_global(get_tcr,%eax))
    4248         __(push $1)
     4248        __(subl $12,%esp)               /* alignment */
     4249        __(push $1)                     /* stack now 16-byte aligned */
    42494250        __(call *%eax)
    4250         __(addl $node_size,%esp)
     4251        __(addl $16,%esp)               /* discard arg, alignment words */
    42514252        /* linear TCR addr now in %eax */
    42524253        __(movw tcr.ldt_selector(%eax), %rcontext_reg)
Note: See TracChangeset for help on using the changeset viewer.