# New Ticket Created by  Chip Salzenberg 
# Please include the string:  [perl #40804]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=40804 >


I just helped Matt diagnose JIT failures on Intel Mac which seem to be the
result of Mac system software requiring that the stack be at least 16-byte
aligned at all times.  I can tell this because when running with -j, Parrot
ends up at an invalid instruction fault at this instruction in a Mac system
library:

   movdqa %xmm0, 32(%esp)

Note the "a" there: "Aligned".  There is a "movdqu" instruction in the CPU,
but the Mac library doesn't use it.

Therefore it's important for the x86 JIT code on Mac to make sure that it
either (1) maintain the stack 16-byte aligned, or (2) leave the stack
unaligned inside the JIT code, but ensure that the stack is aligned at the
point of calling out of the JIT code.
-- 
Chip Salzenberg <[EMAIL PROTECTED]>

Reply via email to