[webkit-dev] JSC and WebKit questions

Maciej Stachowiak mjs at apple.com
Mon Sep 15 15:23:50 PDT 2008

On Sep 15, 2008, at 9:18 AM, Zoltan Herczeg wrote:

> Hi,
> Our primary goal is to make WebKit better suit for embedded systems.  
> This
> involves to make JavaScriptCore faster, and some other plans. Please,
> share me your opinions about them:
> 1) JSC
> - In the embedded system world, the ARM architecture is much more
> widespread than x86 architecture. So we would like to implement an ARM
> JIT modul into WebKit. Do you have such plans in the future? If so, we
> can work together on that project.

We are interested in an ARM back end for the JIT, but probably our  
next immediate target after x86 is x86_64.

>  - We are amazed by the results of Mozilla SpiderMonkey, which has  
> been
> created from Tamarin Tracing (an Action Script Tracer). We have some
> experiences about Tamarin Tracing (and NanoJIT, which is the heart of
> Tamarin Tracing), and we may try to implement a tracing jit into the  
> JSC.
> The qestion is the same as before: do you plan to do such things?

We plan to make JavaScriptCore faster, but our current code seems to  
be faster than TraceMonkey for most kinds of code, and the tracing  
code in SpiderMonkey seems to be very complex. So we'll probably try  
to distill the essence of the best ideas from tracing instead of  
taking the approach wholeheartedly, but who knows?

> 2) WebKit
> - Memory is a scarce resource in embedded systems, and they more often
> runs in out-of-memory condition. Is there any mechanism, which handles
> such situations greacefully? (Oh, I see now that Zaheer asked the same
> question) If the answer is no, we would like to implement this
> functionality into WebKit. Where should we start? How can we do that?

The current approach on most mobile ports is that if the browser runs  
out of memory it dies.

>  - Is it possible to give back memory to the system? Freeing WebKit  
> caches
> and such things. It is an important thing for embedded devices, taht  
> if
> an important task requires memory, we need to kick some lower priority
> tasks. However, if some tasks can give back memory, we don't need to  
> kick
> them. It greatly increases user experince!

Most mobile ports of WebKit tune the caches down, and aggressively  
purge caches in response to a system low memory notification.


More information about the webkit-dev mailing list