[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