[webkit-dev] x32 support of JavaScriptCore

Zoltan Herczeg zherczeg at webkit.org
Thu Oct 11 00:42:55 PDT 2012


Just out of curiosity, how much code modifications are required? I read
the ABI documentation the link you attached, and "x32" is a regular 64 bit
mode, except it seems to me that the global descriptor table is tweaked to
store the same descriptors for all 4G address spaces, so the upper 32 bit
is basically ignored when you access a memory address. It is called Small
Code Model or something. I suspect the changes in the JIT code are
minimal.

Regards,
Zoltan

> Thanks for the suggestions, Kenneth.
>
> I'm refining the code and trying to enable the last major component - the
> low level interpreter for x32.
> Yes it's ideal if we can upstream the code, and as you mentioned, keep
> maintaining it. The buildbot is a good idea while we are still way far
> from it - it requires a mature x32 system which at least supports all of
> the things that a WebKit port depends on. I know there're efforts porting
> Gentoo and Fedora to x32 - we may depend on each other.
>
> Currently I'm testing the JSC shell only. Though I use the EFL port, I
> eliminated most of the unnecessary dependencies on EFL libraries to run
> the JSC shell, so that I don't need to put efforts on compiling and
> enabling those dependencies for x32 at current stage.
>
> Thanks, -Yuqiang
>
> -----Original Message-----
> From: Kenneth Rohde Christiansen [mailto:kenneth.christiansen at gmail.com]
> Sent: 2012年10月11日 5:51
> To: Xian, Yuqiang
> Cc: webkit-dev at lists.webkit.org
> Subject: Re: [webkit-dev] x32 support of JavaScriptCore
>
> Hi,
>
> I don't think another branch on webkit.org will help you much; then
> you can as well have a branch anywhere.
>
> If you want this code to be well tested and maintained, you need to
> get it upstream (through all the review process) and promise that you
> have resources to keep maintaining it. It will also be an advantage if
> we can get a buildbot running this exact configuration, so that others
> can make sure they don't break your code.
>
> I think that whether the community will accept it upstream depends
> much about your commitment and the quality of the code, as well as how
> well you interact with the community during the reviews.
>
> Which port of WebKit is you currently using for testing?
>
> Cheers
> Kenneth
>
>
> On Wed, Oct 10, 2012 at 5:02 PM, Xian, Yuqiang <yuqiang.xian at intel.com>
> wrote:
>> Hi,
>>
>>
>>
>> As you may already know there’s a new x32 ABI – a 32-bit psABI for
>> x86-64
>> with 32-bit pointer size. It tries to leverage the advantage of more
>> registers and IP relative addressing from x64 and the advantage of
>> smaller
>> memory footprint from IA32. You can find more details of the x32 ABI
>> here:
>> https://sites.google.com/site/x32abi/.
>>
>>
>>
>> The Linux kernel supports x32 since 3.4, and the commonly used
>> development
>> tools and libraries are getting in the x32 support. Also more details
>> about
>> current status is available in the above link.
>>
>>
>>
>> Now back to WebKit. In theory most part of the WebKit code should be
>> fine
>> (or require less efforts) to support x32, if they’re pure C++ code and
>> can
>> be compiled with the x32 toolchain. The major challenge is the JIT
>> compiler
>> in the JavaScript engine (and the low level interpreter) and some
>> hand-written assembly code. So I’m currently working on enabling the
>> x32
>> support of JavaScriptCore, the WebKit JavaScript engine, to try to
>> remove
>> the major obstacle. My current status is that I have enabled the
>> baseline
>> JIT, the DFG JIT and the Yarr JIT on x32 – it passes all the
>> JavaScriptCore
>> tests and the 3 major benchmarks.
>>
>>
>>
>> I’m posting this message in order to seek for some advices on how we
>> should
>> have our work shared to more people. I understand that it’s not very
>> appropriate to try to get it into current WebKit trunk considering
>> current
>> x32 support status in major systems and the lack of maintenance in
>> upstream,
>> but we want to keep it synchronized with the newest changes of the
>> WebKit
>> code. So is it possible for us to maintain the code in a separate
>> branch
>> hosted at the WebKit server?
>>
>>
>>
>> Any suggestions are appreciated.
>>
>>
>>
>> Thanks, -Yuqiang
>>
>>
>> _______________________________________________
>> webkit-dev mailing list
>> webkit-dev at lists.webkit.org
>> http://lists.webkit.org/mailman/listinfo/webkit-dev
>>
>
>
>
> --
> Kenneth Rohde Christiansen
> Senior Engineer, WebKit, Qt, EFL
> Phone  +45 4093 0598 / E-mail kenneth at webkit.org
>
> ﹆﹆﹆
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> http://lists.webkit.org/mailman/listinfo/webkit-dev
>




More information about the webkit-dev mailing list