[webkit-dev] x86-64 JIT
Maciej Stachowiak
mjs at apple.com
Tue Mar 17 17:09:10 PDT 2009
On Mar 17, 2009, at 1:51 PM, Mike Hommey wrote:
> Hi,
>
> I was taking a quick look at the JIT code and also gave a shot at
> forcing a build of the x86-64 code under Linux.
>
> The main problem right now is the following:
> ../JavaScriptCore/jit/JITArithmetic.cpp:664: error: cast from
> 'JSC::Structure*' to 'unsigned int' loses precision
> ../JavaScriptCore/jit/JITArithmetic.cpp:674: error: cast from
> 'JSC::Structure*' to 'unsigned int' loses precision
> ../JavaScriptCore/jit/JITArithmetic.cpp:714: error: cast from
> 'JSC::Structure*' to 'unsigned int' loses precision
> ../JavaScriptCore/jit/JITArithmetic.cpp:724: error: cast from
> 'JSC::Structure*' to 'unsigned int' loses precision
>
> Looking at the code, it seems really too much x86-centric, and
> depending on how the x86-64 ABI is under OSX. I don't know how things
> are going to evolve with Snow-Leopard, as I hear the kernel will
> finally
> be 64-bits, but maybe the same issue will arise.
The x86_64 ABI is standardized, so it should match between Linux and
OS X for the things we care about.
> Anyways, I'd need guidance from some people with JIT knowledge to help
> me get it work on Linux.
Sounds like either ALTERNATE_JSIMMEDIATE or JIT_OPTIMIZE_ARITHMETIC is
not defined for you. It should be defined on x86_64. But it also
sounds like a bug that pointers are being cast to unsigned in this
code path. I'm not sure offhand how to fix it. But making sure those
two preprocessor symbols are set should help.
Regards,
Maciej
More information about the webkit-dev
mailing list