[webkit-dev] ARM JIT and related issues
mjs at apple.com
Tue Jun 16 17:29:57 PDT 2009
I'm not sure if there are any remaining disputes about the Nitro ports
to armv6 and armv7. But just to make sure everyone is on the same
page, I would like to clarify a few things:
1) The armv7 port is separate from the armv6 work, and uses the thumb2
instruction set. Both ports are (I hope!) useful.
2) We would have liked to let the community know about the arm v7 port
sooner. Unfortunately, we were not at liberty to disclose it until the
iPhone 3G S announcement. We try to let the community know what we're
up to and drop code into the public tree as soon as we can, but
sometimes we are limited by confidentiality constraints.
3) We'd definitely like to have a port for pre-v7 ARM in the main
WebKit tree. I think everyone made this clear.
4) I think it would be good to see if more code and ideas can be
shared between the two ARM ports. They were made independently, and
originally in different ways, so let's see what exchange can happen.
5) Gavin has been a strong proponent of using MacroAssembler as the
primary CPU abstraction layer, and that approach has worked reasonably
well so far. However, it seems at least to me that CPUs with very
different instruction sets may want to do things differently at a
higher level. x86 is a 2-operand instruction set with optional memory
operands, and it seems to me a 3-operand load-store architecture might
want to do things in a different way to get good performance. Making
them go through a common assembler interface may not work. Ultimately,
however, the proof is in the performance results. If doing things a
different way delivers better performance, that is more important than
maximizing code sharing or architectural purity. That has always been
the WebKit way.
6) It seems like the intent with the Szeged arm port and the plan for
getting it in the tree wasn't clear to all parties involved. For me
personally, it wasn't clear that there was an intent to contribute it,
or perhaps even an expectation that we'd just pick it up from the
external repository where it was developed. Things would have been
more clear if patches were submitted for review earlier.
7) It seems like people said some intemperate things during the
earlier discussion. It also seems like these remarks were based partly
on misunderstanding. I hope everyone has gotten past that, and that we
are all ready to work together productively.
8) A number patches from the folks working at University of Szeged
have been landed. But it seems to me like there has also been a fair
amount of abandoned work and working at cross purposes. I feel like
great work, and I'd like to explore what we can do to get more in sync
on design direction. Does anyone have suggestions on this front?
I know that at at least some non-Apple developers have managed to do
before he became an Apple employee), so I am confident we can make
things work better.
More information about the webkit-dev