Fix various JNI compiler bugs/unimplementeds.
For both x86 and arm we were under computing the outgoing argument size.
For ARM the managed double/long passing had been assumed to be following AAPCS,
however, currently we split long/doubles across R1_R2 and R3 and the stack.
Add support for this in the managed register and jni compiler code.
Add test and various other clean ups to jni compiler code.
Change-Id: I4129076d052a8bce42304f5331b71aa3ac50210f
diff --git a/test/MyClassNatives/MyClassNatives.java b/test/MyClassNatives/MyClassNatives.java
index 885747a1..c4e3791 100644
--- a/test/MyClassNatives/MyClassNatives.java
+++ b/test/MyClassNatives/MyClassNatives.java
@@ -11,6 +11,7 @@
native Object fooIOO(int x, Object y, Object z);
static native Object fooSIOO(int x, Object y, Object z);
static native int fooSII(int x, int y);
+ static native double fooSDD(double x, double y);
static synchronized native Object fooSSIOO(int x, Object y, Object z);
static native void arraycopy(Object src, int src_pos, Object dst, int dst_pos, int length);
}