summaryrefslogtreecommitdiffstats
path: root/vm/Common.h
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2012-05-03 21:50:07 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-05-03 21:50:07 -0700
commitad4681b5d7f46bf8d672ddcd102b6e123bae37cd (patch)
treef3b165b638bf47799ed1083f144e876d17d6dbe9 /vm/Common.h
parent0b88861edfe5c0d57e0bb4a1cccb04f1916b5e9f (diff)
parent20aeca6e2b18c07d3840f4b09f09186511148d8c (diff)
downloadandroid_dalvik-ad4681b5d7f46bf8d672ddcd102b6e123bae37cd.tar.gz
android_dalvik-ad4681b5d7f46bf8d672ddcd102b6e123bae37cd.tar.bz2
android_dalvik-ad4681b5d7f46bf8d672ddcd102b6e123bae37cd.zip
am 20aeca6e: Merge "Pad the 8 and 16 bit Jvalue members"
* commit '20aeca6e2b18c07d3840f4b09f09186511148d8c': Pad the 8 and 16 bit Jvalue members
Diffstat (limited to 'vm/Common.h')
-rw-r--r--vm/Common.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/vm/Common.h b/vm/Common.h
index abab42374..af31b97f8 100644
--- a/vm/Common.h
+++ b/vm/Common.h
@@ -102,6 +102,7 @@ typedef int64_t s8;
struct Object;
union JValue {
+#if defined(HAVE_LITTLE_ENDIAN)
u1 z;
s1 b;
u2 c;
@@ -111,6 +112,30 @@ union JValue {
float f;
double d;
Object* l;
+#endif
+#if defined(HAVE_BIG_ENDIAN)
+ struct {
+ u1 _z[3];
+ u1 z;
+ };
+ struct {
+ s1 _b[3];
+ s1 b;
+ };
+ struct {
+ u2 _c;
+ u2 c;
+ };
+ struct {
+ s2 _s;
+ s2 s;
+ };
+ s4 i;
+ s8 j;
+ float f;
+ double d;
+ void* l;
+#endif
};
#define OFFSETOF_MEMBER(t, f) \