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

Reply via email to