summaryrefslogtreecommitdiffstats
path: root/xulrunner-2.0-64bit-big-endian.patch
blob: d1d63e82397de4d7bcd8a5522feaa9a7d91baf55 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
diff -up xulrunner-2.0/mozilla-central/js/src/jsval.h.s390 xulrunner-2.0/mozilla-central/js/src/jsval.h
--- xulrunner-2.0/mozilla-central/js/src/jsval.h.s390	2010-11-15 10:43:49.000000000 +0100
+++ xulrunner-2.0/mozilla-central/js/src/jsval.h	2010-11-15 10:45:41.000000000 +0100
@@ -331,6 +331,27 @@ typedef union jsval_layout
     double asDouble;
     void *asPtr;
 } jsval_layout;
+# elif JS_BITS_PER_WORD == 64
+typedef union jsval_layout
+{
+    uint64 asBits;
+#ifndef _WIN64
+    /* MSVC does not pack these correctly :-( */
+    struct {
+        uint64             payload47 : 47;
+        JSValueTag         tag : 17;
+    } debugView;
+#endif
+    struct {
+        union {
+            int32          i32;
+            uint32         u32;
+            JSWhyMagic     why;
+        } payload;
+    } s;
+    double asDouble;
+    void *asPtr;
+} jsval_layout;
 # endif /* JS_BITS_PER_WORD */
 #endif  /* defined(IS_LITTLE_ENDIAN) */