From f66d410f3ba767efb91c6b9545d373267cd975f2 Mon Sep 17 00:00:00 2001
From: Philip Chimento <philip@endlessm.com>
Date: Sat, 7 Sep 2019 20:43:40 +0200
Subject: [PATCH] ensure proper running on 64-bit and 32-bit BE platforms

See: https://salsa.debian.org/gnome-team/mozjs60/blob/debian/master/debian/patches/jsproperty-endian.patch

Signed-off-by:  Philip Chimento <philip@endlessm.com>
Signed-off-by: Adam Duskett <aduskett@gmail.com>
---
 js/src/gc/Marking-inl.h       | 16 ++++++++++++++++
 js/src/gc/RelocationOverlay.h | 13 ++++++++++++-
 js/src/jsfriendapi.h          |  8 ++++++++
 js/src/vm/StringType.h        | 13 +++++++++++++
 4 files changed, 49 insertions(+), 1 deletion(-)

diff --git a/js/src/gc/Marking-inl.h b/js/src/gc/Marking-inl.h
index 6d2a4c7..c773c21 100644
--- a/js/src/gc/Marking-inl.h
+++ b/js/src/gc/Marking-inl.h
@@ -82,12 +82,28 @@ inline void RelocationOverlay::forwardTo(Cell* cell) {
   MOZ_ASSERT(!isForwarded());
   // The location of magic_ is important because it must never be valid to see
   // the value Relocated there in a GC thing that has not been moved.
+#if MOZ_LITTLE_ENDIAN || JS_BITS_PER_WORD == 32
+  // On 32-bit, the magic_ aliases with whatever comes after the first
+  // pointer; on little-endian 64-bit, the magic_ aliases with the
+  // 32 most significant bits of the pointer, which are the second half.
   static_assert(offsetof(RelocationOverlay, magic_) ==
                     offsetof(JSObject, group_) + sizeof(uint32_t),
                 "RelocationOverlay::magic_ is in the wrong location");
   static_assert(offsetof(RelocationOverlay, magic_) ==
                     offsetof(js::Shape, base_) + sizeof(uint32_t),
                 "RelocationOverlay::magic_ is in the wrong location");
+#elif JS_BITS_PER_WORD == 64
+  // On big-endian 64-bit, the magic_ aliases with the 32 most
+  // significant bits of the pointer, but now that's the first half.
+  static_assert(offsetof(RelocationOverlay, magic_) ==
+                    offsetof(JSObject, group_),
+                "RelocationOverlay::magic_ is in the wrong location");
+  static_assert(offsetof(RelocationOverlay, magic_) ==
+                    offsetof(js::Shape, base_),
+                "RelocationOverlay::magic_ is in the wrong location");
+#else
+#  error "Unknown endianness or word size"
+#endif
   static_assert(
       offsetof(RelocationOverlay, magic_) == offsetof(JSString, d.u1.length),
       "RelocationOverlay::magic_ is in the wrong location");
diff --git a/js/src/gc/RelocationOverlay.h b/js/src/gc/RelocationOverlay.h
index a568843..399a541 100644
--- a/js/src/gc/RelocationOverlay.h
+++ b/js/src/gc/RelocationOverlay.h
@@ -33,14 +33,25 @@ class RelocationOverlay {
   /* See comment in js/public/HeapAPI.h. */
   static const uint32_t Relocated = js::gc::Relocated;
 
+#if MOZ_LITTLE_ENDIAN || JS_BITS_PER_WORD == 32
   /*
-   * Keep the low 32 bits untouched. Use them to distinguish strings from
+   * Keep the first 32 bits untouched. Use them to distinguish strings from
    * objects in the nursery.
    */
   uint32_t preserve_;
 
   /* Set to Relocated when moved. */
   uint32_t magic_;
+#elif JS_BITS_PER_WORD == 64
+  /*
+   * On big-endian, we need to reorder to keep preserve_ lined up with the
+   * low 32 bits of the aligned group_ pointer in JSObject.
+   */
+  uint32_t magic_;
+  uint32_t preserve_;
+#else
+#  error "Unknown endianness or word size"
+#endif
 
   /* The location |this| was moved to. */
   Cell* newLocation_;
diff --git a/js/src/jsfriendapi.h b/js/src/jsfriendapi.h
index 4b8d18a..70ce0a1 100644
--- a/js/src/jsfriendapi.h
+++ b/js/src/jsfriendapi.h
@@ -9,6 +9,7 @@
 
 #include "mozilla/Atomics.h"
 #include "mozilla/Casting.h"
+#include "mozilla/EndianUtils.h"
 #include "mozilla/Maybe.h"
 #include "mozilla/MemoryReporting.h"
 #include "mozilla/UniquePtr.h"
@@ -609,8 +610,15 @@ struct String {
   static const uint32_t LATIN1_CHARS_BIT = JS_BIT(6);
   static const uint32_t EXTERNAL_FLAGS = LINEAR_BIT | NON_ATOM_BIT | JS_BIT(5);
   static const uint32_t TYPE_FLAGS_MASK = JS_BIT(6) - 1;
+#if MOZ_LITTLE_ENDIAN || JS_BITS_PER_WORD == 32
   uint32_t flags;
   uint32_t length;
+#elif JS_BITS_PER_WORD == 64
+  uint32_t length;
+  uint32_t flags;
+#else
+#  error "Unknown endianness or word size"
+#endif
   union {
     const JS::Latin1Char* nonInlineCharsLatin1;
     const char16_t* nonInlineCharsTwoByte;
diff --git a/js/src/vm/StringType.h b/js/src/vm/StringType.h
index cde3427..c3400db 100644
--- a/js/src/vm/StringType.h
+++ b/js/src/vm/StringType.h
@@ -7,6 +7,7 @@
 #ifndef vm_StringType_h
 #define vm_StringType_h
 
+#include "mozilla/EndianUtils.h"
 #include "mozilla/MemoryReporting.h"
 #include "mozilla/PodOperations.h"
 #include "mozilla/Range.h"
@@ -168,8 +169,20 @@ class JSString : public js::gc::Cell {
   struct Data {
     union {
       struct {
+#if MOZ_LITTLE_ENDIAN || JS_BITS_PER_WORD == 32
         uint32_t flags;  /* JSString */
         uint32_t length; /* JSString */
+#elif JS_BITS_PER_WORD == 64
+        /*
+         * On big-endian, we need to reorder to keep flags lined up
+         * with the low 32 bits of the aligned group_ pointer in
+         * JSObject.
+         */
+        uint32_t length; /* JSString */
+        uint32_t flags;  /* JSString */
+#else
+#  error "Unknown endianness or word size"
+#endif
       };
       uintptr_t flattenData; /* JSRope (temporary while flattening) */
     } u1;
-- 
2.23.0

