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 -~----------~----~----~----~------~----~------~--~---
