mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-12 03:00:28 +00:00
Updates the port to Javascript 1.7.
Much thanks to Bernhard Fröhlich for doing the heavy lifting. PR: 125191 Submitted by: maintainer
This commit is contained in:
parent
9d4c2e01a6
commit
a4c5e709a7
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=216543
@ -5,13 +5,14 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= spidermonkey
|
||||
DISTVERSION= 1.5
|
||||
PORTREVISION= 3
|
||||
DISTVERSION= 1.7.0
|
||||
CATEGORIES= lang
|
||||
MASTER_SITES= MOZILLA
|
||||
MASTER_SITE_SUBDIR= js/older-packages/
|
||||
MASTER_SITES= http://ftp.mozilla.org/pub/mozilla.org/js/ \
|
||||
http://ftp.belnet.be/mirrors/ftp.mozilla.org/js/ \
|
||||
http://gentoo.netnitco.net/distfiles/ \
|
||||
http://gd.tuwien.ac.at/opsys/linux/gentoo/distfiles/ \
|
||||
ftp://ftp.mozilla.org/pub/mozilla.org/js/
|
||||
DISTNAME= js-${DISTVERSION}
|
||||
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:src
|
||||
|
||||
MAINTAINER= citric@cubicone.tmetic.com
|
||||
COMMENT= A standalone JavaScript interpreter from the Mozilla project
|
||||
@ -24,27 +25,6 @@ MAKE_ARGS+= JS_THREADSAFE=YES \
|
||||
PROG_LIBS="-lreadline -ltermcap -lm ${PTHREAD_LIBS}" \
|
||||
LDFLAGS="-L${LOCALBASE}/lib"
|
||||
CFLAGS+= -I${LOCALBASE}/include/nspr
|
||||
.if defined(WITH_TEST)
|
||||
USE_PERL5_BUILD=test harness
|
||||
PATCHFILES= spidermonkey-patch-tests-ecma.bz2 \
|
||||
spidermonkey-patch-tests-timezone.bz2 \
|
||||
spidermonkey-patch-tests-js.bz2
|
||||
PATCH_SITES= http://virtual-estates.net/~mi/port-stuff/
|
||||
BUILD_DEPENDS+= ${SITE_PERL}/Getopt/Mixed.pm:${PORTSDIR}/devel/p5-Getopt-Mixed
|
||||
|
||||
DISTFILES+= js-tests-20021118${EXTRACT_SUFX}:older
|
||||
post-build: test
|
||||
post-patch:
|
||||
#
|
||||
# Removing known bad tests:
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=10278
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=101964
|
||||
#
|
||||
cd ${WRKDIR}/tests && ${RM} js1_3/regress/function-001-n.js \
|
||||
js1_2/function/function-001-n.js \
|
||||
js1_3/Script/function-001-n.js \
|
||||
js1_5/Array/regress-101964.js
|
||||
.endif
|
||||
|
||||
USE_GMAKE= YES
|
||||
MAKEFILE= Makefile.ref
|
||||
@ -52,23 +32,13 @@ ALL_TARGET= ${OPSYS}`${UNAME} -r`_DBG.OBJ/js
|
||||
MAKE_ENV+= CC="${CC}" CCC="${CXX}"
|
||||
USE_LDCONFIG= yes
|
||||
SRC_DIR= js/src
|
||||
JSH= jsapi.h jsautocfg.h jscompat.h jslong.h jsosdep.h jsotypes.h jspubtd.h jstypes.h \
|
||||
jsstr.h jshash.h jsprvtd.h
|
||||
JSH= jsapi.h jsautocfg.h jsconfig.h jscompat.h jslong.h jsosdep.h \
|
||||
jsotypes.h jspubtd.h jstypes.h jsstr.h jshash.h jsprvtd.h \
|
||||
jsproto.tbl
|
||||
PLIST_FILES= bin/js lib/libjs.so lib/libjs.so.1 ${JSH:S,^,include/,}
|
||||
WRKSRC= ${WRKDIR}/${SRC_DIR}
|
||||
WRKSRC= ${WRKDIR}/${SRC_DIR}
|
||||
EXTRACT_AFTER_ARGS=| ${TAR} -xf - \
|
||||
--exclude js/jsd \
|
||||
--exclude ${SRC_DIR}/editline \
|
||||
--exclude ${SRC_DIR}/fdlibm \
|
||||
--exclude ${SRC_DIR}/liveconnect \
|
||||
--exclude ${SRC_DIR}/perlconnect
|
||||
|
||||
test:
|
||||
cd ${WRKDIR}/tests && ${SETENV} \
|
||||
LD_LIBRARY_PATH=${WRKSRC}/${OPSYS}`${UNAME} -r`_DBG.OBJ \
|
||||
${PERL5} jsDriver.pl \
|
||||
--shellpath ${WRKSRC}/${OPSYS}`${UNAME} -r`_DBG.OBJ/js \
|
||||
--engine smdebug --confail --trace --list ecma* js1_*
|
||||
--exclude js/jsd
|
||||
|
||||
do-configure:
|
||||
${CP} ${WRKSRC}/config/Linux_All.mk \
|
||||
|
@ -1,15 +1,3 @@
|
||||
MD5 (js-1.5.tar.gz) = 863bb6462f4ce535399a7c6276ae6776
|
||||
SHA256 (js-1.5.tar.gz) = ef72a154320c9949f8de0732e8dbfa186b83feb0a5e890d90807757de9998585
|
||||
SIZE (js-1.5.tar.gz) = 958135
|
||||
MD5 (js-tests-20021118.tar.gz) = df89464084e583a075a782ad66da5370
|
||||
SHA256 (js-tests-20021118.tar.gz) = 75878c90ed8641aaddcf4cb0b277353c6e7be31e6539beffa44f33bdfe69181f
|
||||
SIZE (js-tests-20021118.tar.gz) = 803198
|
||||
MD5 (spidermonkey-patch-tests-ecma.bz2) = 73ec1e37821deff69e68eac2192a2cd2
|
||||
SHA256 (spidermonkey-patch-tests-ecma.bz2) = 9f6ef721145e12bfca1a8ecdd0e8692fc916fef792927d9503bd40bb86f15f21
|
||||
SIZE (spidermonkey-patch-tests-ecma.bz2) = 5702
|
||||
MD5 (spidermonkey-patch-tests-timezone.bz2) = 9b392c970d878f3defcd7e3e7ddeb0b5
|
||||
SHA256 (spidermonkey-patch-tests-timezone.bz2) = 94322a6541303ac66ffad5cdfdc4af8d5ec14ce74c2dc4709736941abd4bd8bf
|
||||
SIZE (spidermonkey-patch-tests-timezone.bz2) = 7658
|
||||
MD5 (spidermonkey-patch-tests-js.bz2) = 20770d4e82fff61c1bbb5ff91d2551ec
|
||||
SHA256 (spidermonkey-patch-tests-js.bz2) = f930c31005778eeb40f4d3fa10a6d65ab2991c95c990c60712f9d2696c041088
|
||||
SIZE (spidermonkey-patch-tests-js.bz2) = 3685
|
||||
MD5 (js-1.7.0.tar.gz) = 5571134c3863686b623ebe4e6b1f6fe6
|
||||
SHA256 (js-1.7.0.tar.gz) = 44363f0f3895800ee6010763eae90c0d15ed28e07d783bc7b3c607ce98d8668b
|
||||
SIZE (js-1.7.0.tar.gz) = 1165607
|
||||
|
13
lang/spidermonkey/files/patch-Makefile
Normal file
13
lang/spidermonkey/files/patch-Makefile
Normal file
@ -0,0 +1,13 @@
|
||||
--- Makefile.ref 2006-07-26 21:16:47.000000000 +0200
|
||||
+++ Makefile.ref 2008-06-18 17:43:04.000000000 +0200
|
||||
@@ -335,8 +335,8 @@
|
||||
$(PROGRAM): $(PROG_OBJS) $(LIBRARY)
|
||||
link.exe -out:"$@" $(EXE_LINK_FLAGS) $^
|
||||
else
|
||||
-$(PROGRAM): $(PROG_OBJS) $(LIBRARY)
|
||||
- $(CC) -o $@ $(CFLAGS) $(PROG_OBJS) $(LIBRARY) $(LDFLAGS) $(OTHER_LIBS) \
|
||||
+$(PROGRAM): $(PROG_OBJS) $(SHARED_LIBRARY)
|
||||
+ $(CC) -o $@ $(CFLAGS) $(PROG_OBJS) -L$(OBJDIR) -ljs $(LDFLAGS) $(OTHER_LIBS) \
|
||||
$(PROG_LIBS)
|
||||
endif
|
||||
|
@ -1,47 +1,16 @@
|
||||
--- Makefile.ref Fri Nov 14 19:10:55 2003
|
||||
+++ Makefile.ref Sat Aug 6 12:25:36 2005
|
||||
@@ -56,6 +56,4 @@
|
||||
ifdef USE_MSVC
|
||||
OTHER_LIBS += fdlibm/$(OBJDIR)/fdlibm.lib
|
||||
-else
|
||||
-OTHER_LIBS += -Lfdlibm/$(OBJDIR) -lfdm
|
||||
endif
|
||||
|
||||
@@ -242,10 +240,6 @@
|
||||
$(NULL)
|
||||
|
||||
-PREDIRS += fdlibm
|
||||
-
|
||||
ifdef USE_MSVC
|
||||
FDLIBM_LIBRARY = fdlibm/$(OBJDIR)/fdlibm.lib
|
||||
-else
|
||||
-FDLIBM_LIBRARY = fdlibm/$(OBJDIR)/libfdm.a
|
||||
endif
|
||||
JSMATH_PRELINK = $(OBJDIR)/jsmathtemp.o
|
||||
@@ -301,6 +295,6 @@
|
||||
link.exe -out:"$@" $(EXE_LINK_FLAGS) $^
|
||||
else
|
||||
-$(PROGRAM): $(PROG_OBJS) $(LIBRARY) $(FDLIBM_LIBRARY)
|
||||
- $(CC) -o $@ $(CFLAGS) $(PROG_OBJS) $(LIBRARY) $(LDFLAGS) $(OTHER_LIBS) \
|
||||
+$(PROGRAM): $(PROG_OBJS) $(SHARED_LIBRARY) $(FDLIBM_LIBRARY)
|
||||
+ $(CC) -o $@ $(CFLAGS) $(PROG_OBJS) -L$(OBJDIR) -ljs $(LDFLAGS) $(OTHER_LIBS) \
|
||||
$(PROG_LIBS)
|
||||
endif
|
||||
--- config/Linux_All.mk.orig Tue May 10 15:53:44 2005
|
||||
+++ config/Linux_All.mk Sat Dec 10 21:17:45 2005
|
||||
@@ -41,9 +41,9 @@
|
||||
--- config/Linux_All.mk 2005-05-10 21:53:44.000000000 +0200
|
||||
+++ config/Linux_All.mk 2008-06-18 14:26:06.000000000 +0200
|
||||
@@ -41,8 +41,8 @@
|
||||
# Config for all versions of Linux
|
||||
#
|
||||
|
||||
-CC = gcc
|
||||
-CCC = g++
|
||||
-CFLAGS += -Wall -Wno-format
|
||||
+CC ?= gcc
|
||||
+CCC ?= g++
|
||||
+CFLAGS += -Wall -Werror # XXX do these work with non-gcc and non-icc?
|
||||
CFLAGS += -Wall -Wno-format
|
||||
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R
|
||||
|
||||
RANLIB = echo
|
||||
@@ -74,7 +74,7 @@
|
||||
|
||||
GFX_ARCH = x
|
||||
@ -72,12 +41,3 @@
|
||||
+else
|
||||
+OS_CFLAGS += -DPIC -fpic
|
||||
endif
|
||||
--- rules.mk Fri Nov 14 19:11:04 2003
|
||||
+++ rules.mk Mon Aug 8 14:40:36 2005
|
||||
@@ -59,5 +59,5 @@
|
||||
TARGETS += $(SHARED_LIBRARY) $(PROGRAM) # it is now
|
||||
else
|
||||
-TARGETS += $(LIBRARY) $(SHARED_LIBRARY) $(PROGRAM)
|
||||
+TARGETS += $(SHARED_LIBRARY) $(PROGRAM)
|
||||
endif
|
||||
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- jscntxt.c.orig Sat Jan 14 01:57:13 2006
|
||||
+++ jscntxt.c Sat Jan 14 02:14:51 2006
|
||||
@@ -334,7 +334,7 @@
|
||||
{
|
||||
const JSResolvingKey *key = (const JSResolvingKey *)ptr;
|
||||
|
||||
- return ((JSDHashNumber)key->obj >> JSVAL_TAGBITS) ^ key->id;
|
||||
+ return ((JSDHashNumber)JS_PTR_TO_UINT32(key->obj) >> JSVAL_TAGBITS) ^ key->id;
|
||||
}
|
||||
|
||||
JS_PUBLIC_API(JSBool)
|
@ -1,6 +1,6 @@
|
||||
--- jslock.c.orig Sat Jan 14 02:20:18 2006
|
||||
+++ jslock.c Sat Jan 14 02:22:17 2006
|
||||
@@ -193,7 +193,9 @@
|
||||
--- jslock.c 2007-03-29 23:55:35.000000000 +0200
|
||||
+++ jslock.c 2008-06-19 16:08:19.000000000 +0200
|
||||
@@ -224,7 +224,9 @@
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -9,3 +9,4 @@
|
||||
+#endif
|
||||
|
||||
#ifdef DEBUG_SCOPE_COUNT
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- jsopcode.c.orig Sun Aug 29 18:00:24 2004
|
||||
+++ jsopcode.c Sat Jan 14 02:26:07 2006
|
||||
@@ -239,7 +239,7 @@
|
||||
--- jsopcode.c 2007-09-27 20:30:18.000000000 +0200
|
||||
+++ jsopcode.c 2008-06-19 16:10:44.000000000 +0200
|
||||
@@ -262,7 +262,7 @@
|
||||
pc2 += jmplen;
|
||||
npairs = GET_ATOM_INDEX(pc2);
|
||||
pc2 += ATOM_INDEX_LEN;
|
||||
|
11
lang/spidermonkey/files/patch-jsosdep.h
Normal file
11
lang/spidermonkey/files/patch-jsosdep.h
Normal file
@ -0,0 +1,11 @@
|
||||
--- jsosdep.h 2006-07-07 04:12:02.000000000 +0200
|
||||
+++ jsosdep.h 2008-06-19 16:32:12.000000000 +0200
|
||||
@@ -89,7 +89,7 @@
|
||||
#elif defined(SOLARIS)
|
||||
#define JS_HAVE_LONG_LONG
|
||||
|
||||
-#elif defined(FREEBSD)
|
||||
+#elif defined(FREEBSD) || defined(__FreeBSD__)
|
||||
#define JS_HAVE_LONG_LONG
|
||||
|
||||
#elif defined(SUNOS4)
|
@ -1,19 +1,11 @@
|
||||
|
||||
|
||||
--- patch-jsstr.c begins here ---
|
||||
--- jsstr.c.orig Mon Dec 22 01:13:07 2003
|
||||
+++ jsstr.c Mon May 28 10:46:21 2007
|
||||
@@ -1830,6 +1830,8 @@
|
||||
jsdouble d;
|
||||
--- jsstr.c 2006-11-22 09:28:44.000000000 +0100
|
||||
+++ jsstr.c 2008-06-19 16:14:49.000000000 +0200
|
||||
@@ -1815,6 +1815,8 @@
|
||||
jsint i, j;
|
||||
uint32 len, limit;
|
||||
+
|
||||
+ bzero(&tmp,sizeof(tmp));
|
||||
|
||||
+ bzero(&tmp,sizeof(tmp));
|
||||
+
|
||||
str = js_ValueToString(cx, OBJECT_TO_JSVAL(obj));
|
||||
if (!str)
|
||||
|
||||
--- patch-jsstr.c ends here ---
|
||||
|
||||
|
||||
|
||||
return JS_FALSE;
|
||||
|
@ -1,22 +0,0 @@
|
||||
--- jstypes.h.orig Sat Nov 15 00:11:04 2003
|
||||
+++ jstypes.h Sat Jan 14 02:17:40 2006
|
||||
@@ -203,6 +203,19 @@
|
||||
#define JS_BITMASK(n) (JS_BIT(n) - 1)
|
||||
|
||||
/***********************************************************************
|
||||
+** MACROS: JS_PTR_TO_INT32
|
||||
+** JS_PTR_TO_UINT32
|
||||
+** JS_INT32_TO_PTR
|
||||
+** JS_UINT32_TO_PTR
|
||||
+** DESCRIPTION:
|
||||
+** Integer to pointer and pointer to integer conversion macros.
|
||||
+***********************************************************************/
|
||||
+#define JS_PTR_TO_INT32(x) ((jsint)((char *)(x) - (char *)0))
|
||||
+#define JS_PTR_TO_UINT32(x) ((jsuint)((char *)(x) - (char *)0))
|
||||
+#define JS_INT32_TO_PTR(x) ((void *)((char *)0 + (jsint)(x)))
|
||||
+#define JS_UINT32_TO_PTR(x) ((void *)((char *)0 + (jsuint)(x)))
|
||||
+
|
||||
+/***********************************************************************
|
||||
** MACROS: JS_HOWMANY
|
||||
** JS_ROUNDUP
|
||||
** JS_MIN
|
@ -1,312 +1,39 @@
|
||||
--- jspubtd.h Thu Apr 7 15:54:07 2005
|
||||
+++ jspubtd.h Thu Aug 4 23:52:12 2005
|
||||
@@ -517,5 +517,5 @@
|
||||
--- jsdtoa.c 2007-01-18 00:56:12.000000000 +0100
|
||||
+++ jsdtoa.c 2008-06-19 16:34:02.000000000 +0200
|
||||
@@ -247,7 +247,8 @@
|
||||
#define word1(x) JSDOUBLE_LO32(x)
|
||||
#define set_word1(x, y) JSDOUBLE_SET_LO32(x, y)
|
||||
|
||||
-#define Storeinc(a,b,c) (*(a)++ = (b) << 16 | (c) & 0xffff)
|
||||
+#define Storeinc(a,b,c) (*(a)++ = (b) << 16 | ((c) & 0xffff))
|
||||
+
|
||||
|
||||
/* #define P DBL_MANT_DIG */
|
||||
/* Ten_pmax = floor(P*log(2)/log(5)) */
|
||||
--- jspubtd.h 2007-06-23 01:13:21.000000000 +0200
|
||||
+++ jspubtd.h 2008-06-19 16:26:08.000000000 +0200
|
||||
@@ -616,7 +616,7 @@
|
||||
typedef JSBool
|
||||
(* JS_DLL_CALLBACK JSArgumentFormatter)(JSContext *cx, const char *format,
|
||||
JSBool fromJS, jsval **vpp,
|
||||
- va_list *app);
|
||||
+ va_list app);
|
||||
#endif
|
||||
|
||||
--- jsdhash.c Wed Jan 14 21:00:53 2004
|
||||
+++ jsdhash.c Fri Aug 5 00:15:04 2005
|
||||
@@ -92,5 +92,5 @@
|
||||
JS_DHashVoidPtrKeyStub(JSDHashTable *table, const void *key)
|
||||
{
|
||||
- return (JSDHashNumber)key >> 2;
|
||||
+ return (JSDHashNumber)(uintptr_t)key >> 2;
|
||||
}
|
||||
typedef JSBool
|
||||
--- jsapi.c 2007-10-03 16:36:48.000000000 +0200
|
||||
+++ jsapi.c 2008-06-19 17:17:52.000000000 +0200
|
||||
@@ -134,7 +134,7 @@
|
||||
|
||||
--- jsstr.c Fri Jun 3 15:07:49 2005
|
||||
+++ jsstr.c Fri Aug 5 01:31:08 2005
|
||||
@@ -2596,5 +2596,5 @@
|
||||
js_hash_string_pointer(const void *key)
|
||||
{
|
||||
- return (JSHashNumber)key >> JSVAL_TAGBITS;
|
||||
+ return (JSHashNumber)(uintptr_t)key >> JSVAL_TAGBITS;
|
||||
}
|
||||
|
||||
--- jsobj.h Wed Sep 1 17:33:16 2004
|
||||
+++ jsobj.h Fri Aug 5 01:16:56 2005
|
||||
@@ -238,12 +238,12 @@
|
||||
};
|
||||
|
||||
-#define SHARP_BIT ((jsatomid) 1)
|
||||
-#define BUSY_BIT ((jsatomid) 2)
|
||||
+#define SHARP_BIT ((uintptr_t) 1)
|
||||
+#define BUSY_BIT ((uintptr_t) 2)
|
||||
#define SHARP_ID_SHIFT 2
|
||||
-#define IS_SHARP(he) ((jsatomid)(he)->value & SHARP_BIT)
|
||||
-#define MAKE_SHARP(he) ((he)->value = (void*)((jsatomid)(he)->value|SHARP_BIT))
|
||||
-#define IS_BUSY(he) ((jsatomid)(he)->value & BUSY_BIT)
|
||||
-#define MAKE_BUSY(he) ((he)->value = (void*)((jsatomid)(he)->value|BUSY_BIT))
|
||||
-#define CLEAR_BUSY(he) ((he)->value = (void*)((jsatomid)(he)->value&~BUSY_BIT))
|
||||
+#define IS_SHARP(he) ((uintptr_t)(he)->value & SHARP_BIT)
|
||||
+#define MAKE_SHARP(he) ((he)->value = (void*)((uintptr_t)(he)->value|SHARP_BIT))
|
||||
+#define IS_BUSY(he) ((uintptr_t)(he)->value & BUSY_BIT)
|
||||
+#define MAKE_BUSY(he) ((he)->value = (void*)((uintptr_t)(he)->value|BUSY_BIT))
|
||||
+#define CLEAR_BUSY(he) ((he)->value = (void*)((uintptr_t)(he)->value&~BUSY_BIT))
|
||||
|
||||
extern JSHashEntry *
|
||||
--- jstypes.h Fri Nov 14 19:11:04 2003
|
||||
+++ jstypes.h Thu Aug 4 23:54:13 2005
|
||||
@@ -378,6 +378,7 @@
|
||||
** A JSWord is an integer that is the same size as a void*
|
||||
*/
|
||||
+#include <inttypes.h>
|
||||
-typedef long JSWord;
|
||||
-typedef unsigned long JSUword;
|
||||
+typedef intptr_t JSWord;
|
||||
+typedef uintptr_t JSUword;
|
||||
|
||||
#include "jsotypes.h"
|
||||
--- jsosdep.h Fri Nov 14 19:10:59 2003
|
||||
+++ jsosdep.h Fri Aug 5 00:50:44 2005
|
||||
@@ -102,5 +102,5 @@
|
||||
#define JS_HAVE_LONG_LONG
|
||||
|
||||
-#elif defined(FREEBSD)
|
||||
+#elif defined(FREEBSD) || defined(__FreeBSD__)
|
||||
#define JS_HAVE_LONG_LONG
|
||||
|
||||
--- jsdtoa.c Sat Apr 3 17:11:11 2004
|
||||
+++ jsdtoa.c Fri Aug 5 00:28:15 2005
|
||||
@@ -258,5 +258,5 @@
|
||||
#define set_word1(x, y) JSDOUBLE_SET_LO32(x, y)
|
||||
|
||||
-#define Storeinc(a,b,c) (*(a)++ = (b) << 16 | (c) & 0xffff)
|
||||
+#define Storeinc(a,b,c) (*(a)++ = (b) << 16 | ((c) & 0xffff))
|
||||
|
||||
/* #define P DBL_MANT_DIG */
|
||||
@@ -990,5 +990,6 @@
|
||||
{
|
||||
register Long L;
|
||||
- double a;
|
||||
+ double a = 0.; /* only need to initialize to calm the compiler.
|
||||
+ * set_word0 and set_word1 set a, but in two stages */
|
||||
|
||||
L = (word0(x) & Exp_mask) - (P-1)*Exp_msk1;
|
||||
@@ -1021,5 +1022,5 @@
|
||||
ULong *xa, *xa0, w, y, z;
|
||||
int32 k;
|
||||
- double d;
|
||||
+ double d = 0.;
|
||||
#define d0 word0(d)
|
||||
#define d1 word1(d)
|
||||
@@ -1837,4 +1838,5 @@
|
||||
#ifdef Avoid_Underflow
|
||||
if (scale) {
|
||||
+ rv0 = 0.; /* calm the compiler warning */
|
||||
set_word0(rv0, Exp_1 - P*Exp_msk1);
|
||||
set_word1(rv0, 0);
|
||||
--- jsatom.h Wed Feb 11 02:21:59 2004
|
||||
+++ jsatom.h Fri Aug 5 01:21:44 2005
|
||||
@@ -96,5 +96,5 @@
|
||||
|
||||
#define ALE_ATOM(ale) ((JSAtom *) (ale)->entry.key)
|
||||
-#define ALE_INDEX(ale) ((jsatomid) (ale)->entry.value)
|
||||
+#define ALE_INDEX(ale) ((jsatomid)(uintptr_t)(ale)->entry.value)
|
||||
#define ALE_JSOP(ale) ((JSOp) (ale)->entry.value)
|
||||
#define ALE_VALUE(ale) ((jsval) (ale)->entry.value)
|
||||
--- jsatom.c Tue Jul 6 03:49:18 2004
|
||||
+++ jsatom.c Fri Aug 5 01:23:29 2005
|
||||
@@ -137,5 +137,5 @@
|
||||
#endif
|
||||
|
||||
-#define HASH_OBJECT(o) ((JSHashNumber)(o) >> JSVAL_TAGBITS)
|
||||
+#define HASH_OBJECT(o) ((JSHashNumber)(uintptr_t)(o) >> JSVAL_TAGBITS)
|
||||
#define HASH_INT(i) ((JSHashNumber)(i))
|
||||
#define HASH_DOUBLE(dp) ((JSHashNumber)(JSDOUBLE_HI32(*dp) ^ JSDOUBLE_LO32(*dp)))
|
||||
@@ -834,5 +834,5 @@
|
||||
}
|
||||
|
||||
- ALE_SET_INDEX(ale, al->count++);
|
||||
+ ALE_SET_INDEX(ale, (intptr_t)al->count++);
|
||||
}
|
||||
return ale;
|
||||
--- jsscript.c Fri Jul 8 21:48:08 2005
|
||||
+++ jsscript.c Fri Aug 5 01:29:26 2005
|
||||
@@ -322,5 +322,5 @@
|
||||
if (!JS_XDRUint32(xdr, &index))
|
||||
return JS_FALSE;
|
||||
- ALE_SET_INDEX(ale, index);
|
||||
+ ALE_SET_INDEX(ale, (uintptr_t)index);
|
||||
|
||||
if (!JS_XDRValue(xdr, &value))
|
||||
@@ -338,5 +338,5 @@
|
||||
{
|
||||
uint32 length;
|
||||
- uintN i;
|
||||
+ uintptr_t i;
|
||||
JSBool ok;
|
||||
|
||||
--- jsinterp.c Fri Jun 4 21:39:32 2004
|
||||
+++ jsinterp.c Sat Aug 6 18:56:29 2005
|
||||
@@ -1382,9 +1382,9 @@
|
||||
jsbytecode *pc, *pc2, *endpc;
|
||||
JSOp op, op2;
|
||||
- const JSCodeSpec *cs;
|
||||
+ const JSCodeSpec *cs = NULL;
|
||||
JSAtom *atom;
|
||||
uintN argc, slot, attrs;
|
||||
jsval *vp, lval, rval, ltmp, rtmp;
|
||||
- jsid id;
|
||||
+ jsid id = -1L; /* initialize to something awful */
|
||||
JSObject *withobj, *origobj, *propobj;
|
||||
jsval iter_state;
|
||||
@@ -1398,5 +1398,5 @@
|
||||
JSType type;
|
||||
#ifdef DEBUG
|
||||
- FILE *tracefp;
|
||||
+ FILE *tracefp = NULL;
|
||||
#endif
|
||||
#if JS_HAS_EXPORT_IMPORT
|
||||
@@ -1475,4 +1475,5 @@
|
||||
JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL, JSMSG_OVER_RECURSED);
|
||||
ok = JS_FALSE;
|
||||
+ sp = NULL;
|
||||
goto out;
|
||||
}
|
||||
@@ -1484,4 +1485,5 @@
|
||||
if (!newsp) {
|
||||
ok = JS_FALSE;
|
||||
+ sp = NULL;
|
||||
goto out;
|
||||
}
|
||||
@@ -1517,5 +1519,5 @@
|
||||
}
|
||||
}
|
||||
- fprintf(tracefp, " @ %d\n", sp - fp->spbase);
|
||||
+ fprintf(tracefp, " @ %td\n", sp - fp->spbase);
|
||||
}
|
||||
}
|
||||
@@ -4209,5 +4211,5 @@
|
||||
}
|
||||
}
|
||||
- fprintf(tracefp, " @ %d\n", sp - fp->spbase);
|
||||
+ fprintf(tracefp, " @ %td\n", sp - fp->spbase);
|
||||
}
|
||||
fprintf(tracefp, " stack: ");
|
||||
--- jsobj.c Wed Jun 2 17:20:56 2004
|
||||
+++ jsobj.c Sat Aug 6 19:08:39 2005
|
||||
@@ -378,5 +378,5 @@
|
||||
js_hash_object(const void *key)
|
||||
{
|
||||
- return (JSHashNumber)key >> JSVAL_TAGBITS;
|
||||
+ return (JSHashNumber)(uintptr_t)key >> JSVAL_TAGBITS;
|
||||
}
|
||||
|
||||
@@ -407,5 +407,5 @@
|
||||
if (!he) {
|
||||
sharpid = 0;
|
||||
- he = JS_HashTableRawAdd(table, hep, hash, obj, (void *)sharpid);
|
||||
+ he = JS_HashTableRawAdd(table, hep, hash, obj, (void *)(uintptr_t)sharpid);
|
||||
if (!he) {
|
||||
JS_ReportOutOfMemory(cx);
|
||||
@@ -461,8 +461,8 @@
|
||||
return NULL;
|
||||
} else {
|
||||
- sharpid = (jsatomid) he->value;
|
||||
+ sharpid = (jsatomid)(uintptr_t)he->value;
|
||||
if (sharpid == 0) {
|
||||
sharpid = ++map->sharpgen << SHARP_ID_SHIFT;
|
||||
- he->value = (void *) sharpid;
|
||||
+ he->value = (void *)(uintptr_t)sharpid;
|
||||
}
|
||||
ida = NULL;
|
||||
@@ -505,5 +505,5 @@
|
||||
if (!he)
|
||||
goto bad;
|
||||
- JS_ASSERT((((jsatomid) he->value) & SHARP_BIT) == 0);
|
||||
+ JS_ASSERT((((uintptr_t)he->value) & SHARP_BIT) == 0);
|
||||
if (!idap) {
|
||||
JS_DestroyIdArray(cx, ida);
|
||||
@@ -534,5 +534,5 @@
|
||||
}
|
||||
|
||||
- sharpid = (jsatomid) he->value;
|
||||
+ sharpid = (jsatomid)(uintptr_t)he->value;
|
||||
if (sharpid == 0) {
|
||||
*sp = NULL;
|
||||
--- jsopcode.c Thu Jun 10 00:33:52 2004
|
||||
+++ jsopcode.c Sat Aug 6 19:13:50 2005
|
||||
@@ -181,5 +181,5 @@
|
||||
case JOF_JUMPX:
|
||||
off = GetJumpOffset(pc, pc);
|
||||
- fprintf(fp, " %u (%d)", loc + off, off);
|
||||
+ fprintf(fp, " %tu (%td)", loc + off, off);
|
||||
break;
|
||||
|
||||
@@ -216,8 +216,8 @@
|
||||
high = GET_JUMP_OFFSET(pc2);
|
||||
pc2 += JUMP_OFFSET_LEN;
|
||||
- fprintf(fp, " defaultOffset %d low %d high %d", off, low, high);
|
||||
+ fprintf(fp, " defaultOffset %td low %d high %d", off, low, high);
|
||||
for (i = low; i <= high; i++) {
|
||||
off = GetJumpOffset(pc, pc2);
|
||||
- fprintf(fp, "\n\t%d: %d", i, off);
|
||||
+ fprintf(fp, "\n\t%d: %td", i, off);
|
||||
pc2 += jmplen;
|
||||
}
|
||||
@@ -253,5 +253,5 @@
|
||||
if (!cstr)
|
||||
return 0;
|
||||
- fprintf(fp, "\n\t%s: %d", cstr, off);
|
||||
+ fprintf(fp, "\n\t%s: %td", cstr, off);
|
||||
JS_free(cx, cstr);
|
||||
npairs--;
|
||||
--- jsparse.c Mon Mar 29 22:20:03 2004
|
||||
+++ jsparse.c Sat Aug 6 19:15:27 2005
|
||||
@@ -876,5 +876,5 @@
|
||||
return NULL;
|
||||
}
|
||||
- ALE_SET_JSOP(ale, tc->topStmt ? JSOP_CLOSURE : JSOP_DEFFUN);
|
||||
+ ALE_SET_JSOP(ale, (uintptr_t)(tc->topStmt ? JSOP_CLOSURE : JSOP_DEFFUN));
|
||||
|
||||
#if JS_HAS_LEXICAL_CLOSURE
|
||||
--- jsprf.c Wed Feb 25 08:33:42 2004
|
||||
+++ jsprf.c Sat Aug 6 19:18:26 2005
|
||||
@@ -56,5 +56,5 @@
|
||||
*/
|
||||
#ifdef HAVE_VA_COPY
|
||||
-#define VARARGS_ASSIGN(foo, bar) VA_COPY(foo,bar)
|
||||
+#define VARARGS_ASSIGN(foo, bar) va_copy(foo,bar)
|
||||
#elif defined(HAVE_VA_LIST_AS_ARRAY)
|
||||
#define VARARGS_ASSIGN(foo, bar) foo[0] = bar[0]
|
||||
--- js.c Wed Feb 11 02:21:59 2004
|
||||
+++ js.c Sat Aug 6 19:23:09 2005
|
||||
@@ -921,5 +921,5 @@
|
||||
delta = SN_DELTA(sn);
|
||||
offset += delta;
|
||||
- fprintf(gOutFile, "%3u: %5u [%4u] %-8s",
|
||||
+ fprintf(gOutFile, "%3tu: %5u [%4u] %-8s",
|
||||
PTRDIFF(sn, notes, jssrcnote), offset, delta,
|
||||
js_SrcNoteSpec[SN_TYPE(sn)].name);
|
||||
@@ -1006,5 +1006,5 @@
|
||||
fprintf(gOutFile, "\nException table:\nstart\tend\tcatch\n");
|
||||
while (tn->start && tn->catchStart) {
|
||||
- fprintf(gOutFile, " %d\t%d\t%d\n",
|
||||
+ fprintf(gOutFile, " %td\t%td\t%td\n",
|
||||
tn->start, tn->start + tn->length, tn->catchStart);
|
||||
tn++;
|
||||
@@ -1222,6 +1222,6 @@
|
||||
#undef DUMP_ATTR
|
||||
|
||||
- fprintf(fp, " slot %lu flags %x shortid %d\n",
|
||||
- sprop->slot, sprop->flags, sprop->shortid);
|
||||
+ fprintf(fp, " slot %u flags %x shortid %d\n",
|
||||
+ (unsigned)sprop->slot, (int)sprop->flags, (int)sprop->shortid);
|
||||
}
|
||||
}
|
||||
--- jsapi.c Wed Jun 16 17:42:39 2004
|
||||
+++ jsapi.c Mon Aug 8 02:32:15 2005
|
||||
@@ -126,5 +126,5 @@
|
||||
static JSBool
|
||||
TryArgumentFormatter(JSContext *cx, const char **formatp, JSBool fromJS,
|
||||
- jsval **vpp, va_list *app)
|
||||
+ jsval **vpp, va_list app)
|
||||
{
|
||||
const char *format;
|
||||
@@ -264,6 +264,5 @@
|
||||
JSArgumentFormatMap *map;
|
||||
@@ -263,8 +263,7 @@
|
||||
break;
|
||||
default:
|
||||
format--;
|
||||
- if (!TryArgumentFormatter(cx, &format, JS_TRUE, &sp,
|
||||
@ -314,7 +41,9 @@
|
||||
+ if (!TryArgumentFormatter(cx, &format, JS_TRUE, &sp, ap)) {
|
||||
return JS_FALSE;
|
||||
}
|
||||
@@ -367,6 +366,5 @@
|
||||
/* NB: the formatter already updated sp, so we continue here. */
|
||||
@@ -366,8 +365,7 @@
|
||||
break;
|
||||
default:
|
||||
format--;
|
||||
- if (!TryArgumentFormatter(cx, &format, JS_FALSE, &sp,
|
||||
@ -322,10 +51,68 @@
|
||||
+ if (!TryArgumentFormatter(cx, &format, JS_FALSE, &sp, ap)) {
|
||||
goto bad;
|
||||
}
|
||||
@@ -2190,5 +2188,5 @@
|
||||
/* NB: the formatter already updated sp, so we continue here. */
|
||||
--- js.c 2007-04-20 20:45:18.000000000 +0200
|
||||
+++ js.c 2008-06-19 18:17:29.000000000 +0200
|
||||
@@ -978,7 +978,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
- fprintf(gOutFile, "%3u: %5u [%4u] %-8s",
|
||||
+ fprintf(gOutFile, "%3tu: %5u [%4u] %-8s",
|
||||
PTRDIFF(sn, notes, jssrcnote), offset, delta, name);
|
||||
switch (type) {
|
||||
case SRC_SETLINE:
|
||||
--- jscntxt.h 2007-04-06 22:53:21.000000000 +0200
|
||||
+++ jscntxt.h 2008-06-19 18:36:28.000000000 +0200
|
||||
@@ -598,7 +598,7 @@
|
||||
|
||||
if (attrs & JSPROP_INDEX) {
|
||||
- id = INT_TO_JSVAL((jsint)name);
|
||||
+ id = INT_TO_JSVAL(name);
|
||||
atom = NULL;
|
||||
attrs &= ~JSPROP_INDEX;
|
||||
#define JS_PUSH_TEMP_ROOT(cx,cnt,arr,tvr) \
|
||||
JS_BEGIN_MACRO \
|
||||
- JS_ASSERT((ptrdiff_t)(cnt) >= 0); \
|
||||
+ JS_ASSERT((int)(cnt) >= 0); \
|
||||
(tvr)->count = (ptrdiff_t)(cnt); \
|
||||
(tvr)->u.array = (arr); \
|
||||
JS_PUSH_TEMP_ROOT_COMMON(cx, tvr); \
|
||||
--- jsxml.c 2007-04-19 04:18:25.000000000 +0200
|
||||
+++ jsxml.c 2008-06-19 18:49:44.000000000 +0200
|
||||
@@ -1058,7 +1058,10 @@
|
||||
free(array->vector);
|
||||
vector = NULL;
|
||||
} else {
|
||||
- if ((size_t)capacity > ~(size_t)0 / sizeof(void *) ||
|
||||
+ if (
|
||||
+#if JS_BITS_PER_WORD == 32
|
||||
+ (size_t)capacity > ~(size_t)0 / sizeof(void *) ||
|
||||
+#endif
|
||||
!(vector = (void **)
|
||||
realloc(array->vector, capacity * sizeof(void *)))) {
|
||||
if (cx)
|
||||
@@ -1153,7 +1156,10 @@
|
||||
JS_CEILING_LOG2(log2, capacity);
|
||||
capacity = JS_BIT(log2);
|
||||
}
|
||||
- if ((size_t)capacity > ~(size_t)0 / sizeof(void *) ||
|
||||
+ if (
|
||||
+#if JS_BITS_PER_WORD == 32
|
||||
+ (size_t)capacity > ~(size_t)0 / sizeof(void *) ||
|
||||
+#endif
|
||||
!(vector = (void **)
|
||||
realloc(array->vector, capacity * sizeof(void *)))) {
|
||||
JS_ReportOutOfMemory(cx);
|
||||
--- jsarray.c 2007-09-29 01:29:52.000000000 +0200
|
||||
+++ jsarray.c 2008-06-19 19:12:02.000000000 +0200
|
||||
@@ -1051,10 +1051,12 @@
|
||||
* Check that its size does not overflow size_t, which would allow for
|
||||
* indexing beyond the end of the malloc'd vector.
|
||||
*/
|
||||
- if (len > ((size_t) -1) / sizeof(jsval)) {
|
||||
+#if JS_BITS_PER_WORD == 32
|
||||
+ if ((size_t)len > ~(size_t)0 / sizeof(jsval)) {
|
||||
JS_ReportOutOfMemory(cx);
|
||||
return JS_FALSE;
|
||||
}
|
||||
+#endif
|
||||
|
||||
vec = (jsval *) JS_malloc(cx, ((size_t) len) * sizeof(jsval));
|
||||
if (!vec)
|
||||
|
Loading…
Reference in New Issue
Block a user