[arch-commits] Commit in js185/trunk (PKGBUILD apache-couchdb-mozjs-tag.patch)

Bruno Pagani archange at archlinux.org
Sun Jan 6 22:19:32 UTC 2019


    Date: Sunday, January 6, 2019 @ 22:19:31
  Author: archange
Revision: 420773

Finalize sync with CouchDB packages

Added:
  js185/trunk/apache-couchdb-mozjs-tag.patch
Modified:
  js185/trunk/PKGBUILD

--------------------------------+
 PKGBUILD                       |    3 -
 apache-couchdb-mozjs-tag.patch |   96 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 98 insertions(+), 1 deletion(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2019-01-06 22:14:34 UTC (rev 420772)
+++ PKGBUILD	2019-01-06 22:19:31 UTC (rev 420773)
@@ -3,7 +3,7 @@
 
 pkgname=js185
 pkgver=1.0.0
-pkgrel=6
+pkgrel=7
 pkgdesc="JavaScript interpreter and libraries (legacy)"
 arch=(x86_64)
 url="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Releases/1.8.5"
@@ -48,6 +48,7 @@
     --disable-tests \
     --disable-optimize \
     --disable-profile-guided-optimization \
+    --disable-methodjit \
     --enable-ctypes \
     --enable-jemalloc \
     --enable-readline \

Added: apache-couchdb-mozjs-tag.patch
===================================================================
--- apache-couchdb-mozjs-tag.patch	                        (rev 0)
+++ apache-couchdb-mozjs-tag.patch	2019-01-06 22:19:31 UTC (rev 420773)
@@ -0,0 +1,96 @@
+--- js-1.8.5/js/src/jsval.h	2017-03-10 16:27:06.000000000 +0100
++++ js-1.8.5/js/src/jsval.h	2017-03-10 16:30:39.000000000 +0100
+@@ -66,7 +66,7 @@ JS_BEGIN_EXTERN_C
+ #endif
+ 
+ #if JS_BITS_PER_WORD == 64
+-# define JSVAL_TAG_SHIFT 47
++# define JSVAL_TAG_SHIFT 48
+ #endif
+ 
+ /*
+@@ -135,7 +135,8 @@ JS_STATIC_ASSERT(sizeof(JSValueTag) == 4
+ /* Remember to propagate changes to the C defines below. */
+ JS_ENUM_HEADER(JSValueTag, uint32)
+ {
+-    JSVAL_TAG_MAX_DOUBLE           = 0x1FFF0,
++    JSVAL_TAG_DUMMY                = 0xFFFFFFFF,  /* Make sure the enums cannot fit 16-bits. */
++    JSVAL_TAG_MAX_DOUBLE           = 0xFFF8,
+     JSVAL_TAG_INT32                = JSVAL_TAG_MAX_DOUBLE | JSVAL_TYPE_INT32,
+     JSVAL_TAG_UNDEFINED            = JSVAL_TAG_MAX_DOUBLE | JSVAL_TYPE_UNDEFINED,
+     JSVAL_TAG_STRING               = JSVAL_TAG_MAX_DOUBLE | JSVAL_TYPE_STRING,
+@@ -196,7 +197,7 @@ typedef uint32 JSValueTag;
+ #elif JS_BITS_PER_WORD == 64
+ 
+ typedef uint32 JSValueTag;
+-#define JSVAL_TAG_MAX_DOUBLE         ((uint32)(0x1FFF0))
++#define JSVAL_TAG_MAX_DOUBLE         ((uint32)(0xFFF8))
+ #define JSVAL_TAG_INT32              (uint32)(JSVAL_TAG_MAX_DOUBLE | JSVAL_TYPE_INT32)
+ #define JSVAL_TAG_UNDEFINED          (uint32)(JSVAL_TAG_MAX_DOUBLE | JSVAL_TYPE_UNDEFINED)
+ #define JSVAL_TAG_STRING             (uint32)(JSVAL_TAG_MAX_DOUBLE | JSVAL_TYPE_STRING)
+@@ -236,8 +237,8 @@ typedef uint64 JSValueShiftedTag;
+ 
+ #elif JS_BITS_PER_WORD == 64
+ 
+-#define JSVAL_PAYLOAD_MASK           0x00007FFFFFFFFFFFLL
+-#define JSVAL_TAG_MASK               0xFFFF800000000000LL
++#define JSVAL_PAYLOAD_MASK           0x0000FFFFFFFFFFFFLL
++#define JSVAL_TAG_MASK               0xFFFF000000000000LL
+ #define JSVAL_TYPE_TO_TAG(type)      ((JSValueTag)(JSVAL_TAG_MAX_DOUBLE | (type)))
+ #define JSVAL_TYPE_TO_SHIFTED_TAG(type) (((uint64)JSVAL_TYPE_TO_TAG(type)) << JSVAL_TAG_SHIFT)
+ 
+@@ -297,8 +298,8 @@ typedef union jsval_layout
+ #if (!defined(_WIN64) && defined(__cplusplus))
+     /* MSVC does not pack these correctly :-( */
+     struct {
+-        uint64             payload47 : 47;
+-        JSValueTag         tag : 17;
++        uint64             payload48 : 48;
++        JSValueTag         tag : 16;
+     } debugView;
+ #endif
+     struct {
+@@ -339,8 +340,8 @@ typedef union jsval_layout
+ {
+     uint64 asBits;
+     struct {
+-        JSValueTag         tag : 17;
+-        uint64             payload47 : 47;
++        JSValueTag         tag : 16;
++        uint64             payload48 : 48;
+     } debugView;
+     struct {
+         uint32             padding;
+--- js-1.8.5/js/src/jsvalue.h	2017-03-10 16:27:06.000000000 +0100
++++ js-1.8.5/js/src/jsvalue.h	2017-03-10 16:27:06.000000000 +0100
+@@ -255,7 +255,7 @@ JSVAL_SAME_TYPE_IMPL(jsval_layout lhs, j
+ {
+     uint64 lbits = lhs.asBits, rbits = rhs.asBits;
+     return (lbits <= JSVAL_TAG_MAX_DOUBLE && rbits <= JSVAL_TAG_MAX_DOUBLE) ||
+-           (((lbits ^ rbits) & 0xFFFF800000000000LL) == 0);
++           (((lbits ^ rbits) & 0xFFFF000000000000LL) == 0);
+ }
+ 
+ static JS_ALWAYS_INLINE jsval_layout
+@@ -277,7 +277,7 @@ JSVAL_TO_PRIVATE_UINT32_IMPL(jsval_layou
+ static JS_ALWAYS_INLINE JSValueType
+ JSVAL_EXTRACT_NON_DOUBLE_TYPE_IMPL(jsval_layout l)
+ {
+-   uint64 type = (l.asBits >> JSVAL_TAG_SHIFT) & 0xF;
++   uint64 type = (l.asBits >> JSVAL_TAG_SHIFT) & 0x7;
+    JS_ASSERT(type > JSVAL_TYPE_DOUBLE);
+    return (JSValueType)type;
+ }
+--- js-1.8.5/js/src/methodjit/MethodJIT.cpp	2011-03-31 21:08:36.000000000 +0200
++++ js-1.8.5/js/src/methodjit/MethodJIT.cpp	2017-03-10 16:27:06.000000000 +0100
+@@ -186,8 +186,8 @@ JS_STATIC_ASSERT(sizeof(VMFrame) % 16 ==
+ JS_STATIC_ASSERT(offsetof(VMFrame, savedRBX) == 0x58);
+ JS_STATIC_ASSERT(offsetof(VMFrame, regs.fp) == 0x38);
+ 
+-JS_STATIC_ASSERT(JSVAL_TAG_MASK == 0xFFFF800000000000LL);
+-JS_STATIC_ASSERT(JSVAL_PAYLOAD_MASK == 0x00007FFFFFFFFFFFLL);
++JS_STATIC_ASSERT(JSVAL_TAG_MASK == 0xFFFF000000000000LL);
++JS_STATIC_ASSERT(JSVAL_PAYLOAD_MASK == 0x0000FFFFFFFFFFFFLL);
+ 
+ asm volatile (
+ ".text\n"



More information about the arch-commits mailing list