[webkit-dev] Using OfflineAsm

Vienneau, Christopher cvienneau at ea.com
Fri Sep 5 15:23:47 PDT 2014


I'm looking for some information about the Java script interpreter ASM backend, aka OfflineAsm.

First a bit of background information; the code I have been using is about a year old, on several platforms we don't run with JIT and won't be able to enable it.  This means that we've been using the LLINT_C_LOOP path in these cases.  It was considered that the ASM backend may be able to improve performance in this case, currently I'm taking a look at how things are done in a more recent snapshot of the trunk to be sure this development effort will be going in the right direction on what is done there.  As a side note I see that LLINT_C_LOOP has been replaced with #if !ENABLE(JIT) which I guess is pretty much how it has always behaved.

So my questions are:

1)      How is the ASM backend intended to be used? Is there a doc that covers this?

2)      Can I essentially move from the "C LOOP" to neither "C LOOP" nor "JIT"? or is the ASM backend dependent on JIT itself?  It appears this would be handled by the defines in Source\JavaScriptCore\llint\LLIntOfflineAsmConfig.h

3)      If JIT is expected to use the ASM backend is there a way this can be worked around?

4)      Should I actually expect a performance increase compared to the "C LOOP"?

5)      Are there any other suggestions on how to improve performance of Java script code in a non-JIT port?

Thanks for any feedback

Chris Vienneau
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-dev/attachments/20140905/58761af1/attachment.html>

More information about the webkit-dev mailing list