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
_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev