EABI worked, thanks a lot! On Mar 5, 2:02 pm, Erik Corry <[email protected]> wrote: > 2010/3/5 vlad burlik <[email protected]>: > > > Thank you! > > I'm using ARM11 armv6 with vfpv2 support. > > The VFP support in V8 is called VFP3, but as far as I know we don't > use any instructions that weren't already in VFP2. You probably want > to activate the EABI support and the VFP2 support. If you know what > hardware you are using you should use the macros (or patch the VM) to > activate VFP and ARMv6 regardless of autodetection. > > > > > > > On Mar 5, 10:30 am, Erik Corry <[email protected]> wrote: > >> 2010/3/5 vlad burlik <[email protected]>: > > >> > Hi, > >> > I have a problem with FPU generated code for ARM. Compiled script > >> > calls the function > >> > static double mul_two_doubles(double x, double y) { > >> > return x * y; > >> > } > > >> > which in asm looks like this: > > >> > 0x7aa4d648 <v8::internal::mul_two_doubles>: fmuld d0,d0,d1 > >> > 0x7aa4d64c <v8::internal::mul_two_doubles+4>: mrrc p11,0x1,r0,r1,cr0 > >> > 0x7aa4d650 <v8::internal::mul_two_doubles+8>: bx > >> > lr -----> 0x04e1ca7c > > >> > then it returns back to the script compiled code: > > >> > 0x04e1ca7c ldr r4,[sp],#4 > >> > 0x04e1ca80 cmp r4,#0x0 > >> > 0x04e1ca84 ldreq r4,[sp],#4 > >> > 0x04e1ca88 sub r5,r4,#0x1 > >> > 0x04e1ca8c stfd f0,[r5,#4] <---------------------------- > >> > crash.... > > >> > Everything works fine until stfd f0,[r5,#4] > > >> > stfd supposed to just store the result to the memory address in R5+4, > >> > which is valid memory block... > > >> > Any idea why this could happen? Which function generates: STFD > >> > instruction( op code for it: ED858101 )? > > >> This is around line 5669 in codegen-arm.cc. It is an stc (store > >> coprocessor register) instruction in the nomenclature of the V8 ARM > >> assembler. This is for the old math coprocessor instruction set, > >> which is emulated on ARM operating systems that are running the old > >> (non-EABI) ABI. If you are using a new CPU with the EABI then you > >> need to set the ARM_EABI macro and perhaps the > >> CAN_USE_ARMV7_INSTRUCTIONS macro. See arm-constants.h. > > >> The experimental/partial_snapshots branch also has the macro > >> CAN_USE_VFP_INSTRUCTIONS which hasn't been ported to trunk or bleeding > >> edge yet. Without that flag V8 tries to runtime-detect VFP > >> instructions using the /proc filesystem on Linux. > > >> > Thanks > >> > Vlad > > >> > -- > >> > v8-dev mailing list > >> > [email protected] > >> >http://groups.google.com/group/v8-dev > > > -- > > v8-dev mailing list > > [email protected] > >http://groups.google.com/group/v8-dev- Hide quoted text - > > - Show quoted text -
-- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
