[Webkit-unassigned] [Bug 128115] [Win] LLINT is not working.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Feb 12 13:57:32 PST 2014


--- Comment #39 from peavo at outlook.com  2014-02-12 13:54:47 PST ---
(In reply to comment #38)
> It could be that the compiler doesn't enforce as strict alignment on the stack as we want in JavaScript.  We want a 16 but aligned stack, primarily due to the use of xmm registers for FP operations.  I believe that Windows 32 bit is 8 byte aligned at best.  The combination of the implicit push from the "call" instruction, followed by 4 pushes and then the sub 12 will leave the stack pointer with the same alignment as the caller had at the time of the call.
> We had a similar issue with ARMv7 and handled it by aligning the stack in LowLevelInterpreter.asm:callToJavaScriptPrologue  (see the elsif ARM or ARMv7 or ARMv7_TRADITIONAL case).  We effectively pushed the pre aligned stack pointer on the stack post alignment.  We then restore everything back in LowLevelInterpreter.asm:callToJavaScriptEpilogue.  You may have to do the same thing for Windows.
> You can verify the need for this by checking the stack pointer value before the first instruction of callToJavaScript (or callToNativeFunction).  The least significant nibble should be 'C'.

Thanks, will try this out :) How can we differentiate between x86 Mac, and x86 Win in the .asm file?

Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

More information about the webkit-unassigned mailing list