I used: USE_ARM_EABI, V8_TARGET_ARCH_ARM and __arm__ to force arm
execution. Thing is that WinCE uses bigendian word ordering for
doubles. So I think that BIG_ENDIAN_FLOATING_POINT has to be defined,
because kMantissaOffset == kValueOffset + 4;

I got it working today (quick and dirty) by changing #ifndef to #ifdef
BIG_ENDIAN_FLOATING_POINT in ConvertToDoubleStub::Generate(). in
codegen_arm.cc. That way, for example, r0 is always exponent while r1
holds the mantissa.

That fixed only the problem in smi -> double conversion.. Double ->
smi still doesn't work. Code: var x = 7.2; var y = x|0; doesn't work
as expected. I still haven't found where things go wrong this time. I
think there is a confusion right now with defining ABI and word
ordering.

But I must say that all this is probably easily fixable. V8 shows very
good performance on arm and I'm really pleased with it so far.

Thanks,

-Marko.

--~--~---------~--~----~------------~-------~--~----~
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
-~----------~----~----~----~------~----~------~--~---

Reply via email to