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 )?
Thanks
Vlad
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev