09-28-2013, 01:14 AM
(09-27-2013, 03:26 PM)[Unknown] Wrote:(09-25-2013, 09:55 PM)YaPeL Wrote: hey -[Unkown] I have seen that your commit to fix the last issues with android + x86 actually disables a part of the JIT, any way to help you debug that part?
Yes, the problem is the ABI. vrot uses sin/cos/etc. which aren't 100% trivial to implement in jit, so we're calling a function.
On Windows, at least, float arguments are passed on the stack, but it seems like it's different on Android. Possibly dropping an extern "C" on SinCosNegSin and SinCos might help, not really sure. Or, passing the parameter in a different way or aligning the stack or something.
Another option would be to write our own stub that implements these with our own ABI, although that's not completely trivial.... there are some approximations out there.
(09-27-2013, 01:39 AM)ddsdadashi Wrote: the error shows when any iso was loaded, all of which are loaded fine with the ndk compiled ones. or , can you pm me your mail addr, so i can send you a copy to investigate.
What do you mean by ndk compiled ones? I don't have an x86 phone so I'm not gonna be able to investigate very well.
-[Unknown]
ndk compiled ones means ppsspp compiled with android-ndk-r9, and the problem one was compiled with icc, which is expected to have a better performance.

