[prev in list] [next in list] [prev in thread] [next in thread] 

List:       webkit-dev
Subject:    [webkit-dev] JavaScript Stack Changes
From:       Michael Saboff <msaboff () apple ! com>
Date:       2013-10-07 18:19:55
Message-ID: 11DC7DA0-F6B2-425E-8889-079A2C029E45 () apple ! com
[Download RAW message or body]

We have been making changes to the JavaScript native stack layout in order to align \
the layout more closely with native C/C++ stack layout. This is being done as part of \
integrating LLVM as a back-end for the FTL JIT.  This is being tracked with the \
umbrella bug https://bugs.webkit.org/show_bug.cgi?id=116888.

We have already changed the stack direction from growing up in address to growing \
down.  We are in the process of changing calls from JavaScript to C helpers to be \
compliant with native calling conventions by changing calls using JITStubCall.h to \
use CCallHelpers.h (tracked with https://bugs.webkit.org/show_bug.cgi?id=122287).  \
Other tasks that remain are to rearrange the layout of JSStack so that the \
CallerFrame and ReturnPC frame location are consistent with native C stack \
conventions, using the native stack pointer register instead of reserving our own \
register, and modifying the thunks used to invoke JavaScript from C/C++ code.

The JavaScript team at Apple will make and test the changes to support X86 and X86_64 \
for Mac OS X and Windows, and ARM Thumb 2.  We will likely make speculative changes \
for the other ports (ARM Traditional, MIPS and SH4), but have no means to test those \
changes. If you maintain the processor specific JavaScript code for one of those \
ports, send me a reply so we can coordinate changes to minimize breakage.

- Michael Saboff

_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic