Hi all,

We are actively trying to improve the WebKit JavaScript engine 
(JavaScriptCore), with new debugging, profiling, memory efficiency, and 
performance features.  Because JavaScriptCore is a JIT-based engine, this 
inevitably means doing JIT work, which in turn includes adding new instructions 
to the JIT assemblers and changing the API between the assemblers and the JIT.

Currently, the maintenance situation in the assembler layer is not great.  We 
have three well-supported assemblers, X86-32, X86-64, and ARMv7. Then we have 
three assemblers that appear to be on life support: legacy (non-THUMB2, pre-v7) 
ARM, SH4, and MIPS.  It is increasingly painful to maintain these three 
barely-supported assemblers.  None of these assemblers has been updated to 
support the new JIT or interpreter infrastructure, and there appears to be no 
ongoing effort to do so.  That means that for progress to be made on X86 and 
ARMv7, we need to increasingly scatter #if ENABLE(...) noise throughout the 
system to keep those other assemblers building.  Neither the active 
JavaScriptCore contributors, nor those running the bots for those hardware 
platforms, appear to have much interest in maintaining those assemblers, other 
than the occasional build fix.

This is not a good situation to be in.

So, I am curious: is anyone shipping with the legacy ARM assembler, the MIPS 
assembler, or the SH4 assembler?

As a secondary question, if you are shipping the legacy ARM assembler, are you 
doing so because you have legacy ARM hardware or because you have not had the 
chance to switch to the new ARM assembler in your codebase?

-Filip


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

Reply via email to