mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-09 00:17:31 +00:00
community/js185 to 1.0.0-7
This commit is contained in:
parent
c5dd0bb52f
commit
a26ee38bb3
2 changed files with 101 additions and 1 deletions
|
@ -8,7 +8,7 @@
|
|||
|
||||
pkgname=js185
|
||||
pkgver=1.0.0
|
||||
pkgrel=5
|
||||
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"
|
||||
|
@ -20,6 +20,7 @@ source=("https://ftp.mozilla.org/pub/mozilla.org/js/${pkgname}-${pkgver}.tar.gz"
|
|||
'fix-install-symlinks.patch'
|
||||
'system-libffi-autoconf.patch'
|
||||
'allow-to-build-against-system-libffi.patch'
|
||||
'apache-couchdb-mozjs-tag.patch'
|
||||
ihatemozilla.patch no-neon.patch
|
||||
Bug-638056-Avoid-The-cacheFlush-support-is-missing-o.patch
|
||||
mozjs185-tag.patch)
|
||||
|
@ -28,6 +29,7 @@ sha256sums=('5d12f7e1f5b4a99436685d97b9b7b75f094d33580227aa998c406bbae6f2a687'
|
|||
'b738dc60b6f9c4697aede30ca09a87ac0d5895fe5da6c9f277295531cbe8c215'
|
||||
'524e11a66f0931dc1affcfcf47a87e086b6006ee9b747e2c7caae82334d6ba6b'
|
||||
'eea3f80f72cfde52745fbb24b9d3a3506dd2cdbb08fe53a529d7c9a14f0381a6'
|
||||
'669b2e87f962ef554ab8e7940d1dbf4e0e437b96ed3001a3b9ef124492a686d0'
|
||||
'40d3f2778ff111bf75c736018a25c5d5cf02585a1981430d18dd2ec030414771'
|
||||
'99bc474f881950c3d65b09d7a912115cc209d7fbfb4223a819b75d393bd49586'
|
||||
'2f3fdaa47825835d3b54453c0cfb201f15aee2d12631a244106243d2ff5594e5'
|
||||
|
@ -44,6 +46,7 @@ find . -name config.guess -exec chmod +w {} \; -exec cp /usr/share/libtool/build
|
|||
patch -p1 -i ../fix-install-symlinks.patch
|
||||
patch -p1 -i ../system-libffi-autoconf.patch
|
||||
patch -p1 -i ../allow-to-build-against-system-libffi.patch
|
||||
patch -p1 -i ../apache-couchdb-mozjs-tag.patch
|
||||
|
||||
patch -p1 -i ../ihatemozilla.patch
|
||||
patch -p1 -i ../no-neon.patch
|
||||
|
@ -66,6 +69,7 @@ build() {
|
|||
--disable-tests \
|
||||
--disable-optimize \
|
||||
--disable-profile-guided-optimization \
|
||||
--disable-methodjit \
|
||||
--enable-ctypes \
|
||||
--enable-jemalloc \
|
||||
--enable-readline \
|
||||
|
|
96
community/js185/apache-couchdb-mozjs-tag.patch
Normal file
96
community/js185/apache-couchdb-mozjs-tag.patch
Normal file
|
@ -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"
|
Loading…
Reference in a new issue