Bug 415142: Mozilla build broken in mozilla/js/src/jsgc.c:2217. All the compilers we support can handle long long, so just go with that. Also remove ifdefs for compilers we no longer care about. r=/a=brendan
authorjag@tty.nl
Tue, 19 Feb 2008 21:11:01 -0800
changeset 11904 80a721e6db1db7834bb20ad904c93b61dd51f0c6
parent 11903 b3bf015414dbf7e24fd9ddd721821ef8ebd35a3b
child 11905 06e0f48f14645e649d5fb1e2b76b25cc8144b2bd
push idunknown
push userunknown
push dateunknown
bugs415142
milestone1.9b4pre
Bug 415142: Mozilla build broken in mozilla/js/src/jsgc.c:2217. All the compilers we support can handle long long, so just go with that. Also remove ifdefs for compilers we no longer care about. r=/a=brendan
js/src/Makefile.in
js/src/Makefile.ref
js/src/README.html
js/src/js.mak
js/src/jscpucfg.c
js/src/jscpucfg.h
js/src/jslibmath.h
js/src/jslock.c
js/src/jslock.h
js/src/jsosdep.h
js/src/jstypes.h
js/src/prmjtime.c
--- a/js/src/Makefile.in
+++ b/js/src/Makefile.in
@@ -145,17 +145,16 @@ EXPORTS		= \
 		jsiter.h \
 		jslock.h \
 		jslong.h \
 		jsmath.h \
 		jsnum.h \
 		jsobj.h \
 		jsopcode.tbl \
 		jsopcode.h \
-		jsosdep.h \
 		jsotypes.h \
 		jsparse.h \
 		jsprf.h \
 		jsproto.tbl \
 		jsprvtd.h \
 		jspubtd.h \
 		jsregexp.h \
 		jsscan.h \
--- a/js/src/Makefile.ref
+++ b/js/src/Makefile.ref
@@ -160,17 +160,16 @@ JS_HFILES =		\
 	jsopcode.h      \
 	jsparse.h	\
 	jsarena.h	\
 	jsclist.h	\
 	jsdhash.h	\
 	jsdtoa.h	\
 	jshash.h	\
 	jslong.h	\
-	jsosdep.h	\
 	jstypes.h	\
 	jsprvtd.h	\
 	jspubtd.h	\
 	jsregexp.h	\
 	jsscan.h	\
 	jsscope.h	\
 	jsscript.h	\
 	jsstr.h		\
--- a/js/src/README.html
+++ b/js/src/README.html
@@ -784,20 +784,16 @@ reduction over division hash, yet with v
 power of two table sizes. Collisions resolve via chaining, so each entry
 burns a malloc and can fragment the heap.
 <h4>
 prlong.c, prlong.h</h4>
 64-bit integer emulation, and compatible macros that use C's long long
 type where it exists (my last company mapped long long to a 128-bit type,
 but no real architecture does 128-bit ints yet).
 <h4>
-jsosdep.h</h4>
-Annoying OS dependencies rationalized into a few "feature-test" macros
-such as <tt>JS_HAVE_LONG_LONG</tt>.
-<h4>
 jsprf.*</h4>
 Portable, buffer-overrun-resistant sprintf and friends. For no good reason
 save lack of time, the %e, %f, and %g formats cause your system's native
 sprintf, rather than <tt>JS_dtoa()</tt>, to be used. This bug doesn't affect
 JSRef, because it uses its own <tt>JS_dtoa()</tt> call in <i>jsnum.c</i>
 to convert from double to string, but it's a bug that we'll fix later,
 and one you should be aware of if you intend to use a <tt>JS_*printf()</tt>&nbsp;
 function with your own floating type arguments - various vendor sprintf's
--- a/js/src/js.mak
+++ b/js/src/js.mak
@@ -903,17 +903,16 @@ DEP_CPP_JSAPI=\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsmath.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsparse.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscan.h"\
 	".\jsscope.h"\
@@ -959,17 +958,16 @@ DEP_CPP_JSAPI=\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsmath.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsparse.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscan.h"\
 	".\jsscope.h"\
@@ -1000,17 +998,16 @@ SOURCE=.\jsarena.c
 !IF  "$(CFG)" == "js - Win32 Release"
 
 DEP_CPP_JSARE=\
 	".\jsarena.h"\
 	".\jsbit.h"\
 	".\jscompat.h"\
 	".\jscpucfg.h"\
 	".\jslong.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsstddef.h"\
 	".\jstypes.h"\
 	".\jsutil.h"\
 	{$(INCLUDE)}"\sys\types.h"\
 	
 NODEP_CPP_JSARE=\
 	".\jsautocfg.h"\
@@ -1022,17 +1019,16 @@ NODEP_CPP_JSARE=\
 !ELSEIF  "$(CFG)" == "js - Win32 Debug"
 
 DEP_CPP_JSARE=\
 	".\jsarena.h"\
 	".\jsbit.h"\
 	".\jscompat.h"\
 	".\jscpucfg.h"\
 	".\jslong.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsstddef.h"\
 	".\jstypes.h"\
 	".\jsutil.h"\
 	{$(INCLUDE)}"\sys\types.h"\
 	
 NODEP_CPP_JSARE=\
 	".\jsautocfg.h"\
@@ -1066,17 +1062,16 @@ DEP_CPP_JSARR=\
 	".\jsgc.h"\
 	".\jshash.h"\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
 	".\jstypes.h"\
@@ -1109,17 +1104,16 @@ DEP_CPP_JSARR=\
 	".\jsgc.h"\
 	".\jshash.h"\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
 	".\jstypes.h"\
@@ -1160,17 +1154,16 @@ DEP_CPP_JSATO=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
@@ -1204,17 +1197,16 @@ DEP_CPP_JSATO=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
@@ -1255,17 +1247,16 @@ DEP_CPP_JSBOO=\
 	".\jsgc.h"\
 	".\jshash.h"\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
@@ -1298,17 +1289,16 @@ DEP_CPP_JSBOO=\
 	".\jsgc.h"\
 	".\jshash.h"\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
@@ -1351,17 +1341,16 @@ DEP_CPP_JSCNT=\
 	".\jshash.h"\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscan.h"\
 	".\jsscope.h"\
 	".\jsscript.h"\
@@ -1398,17 +1387,16 @@ DEP_CPP_JSCNT=\
 	".\jshash.h"\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscan.h"\
 	".\jsscope.h"\
 	".\jsscript.h"\
@@ -1452,17 +1440,16 @@ DEP_CPP_JSDAT=\
 	".\jsgc.h"\
 	".\jshash.h"\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
@@ -1497,17 +1484,16 @@ DEP_CPP_JSDAT=\
 	".\jsgc.h"\
 	".\jshash.h"\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
@@ -1551,17 +1537,16 @@ DEP_CPP_JSDBG=\
 	".\jshash.h"\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsscript.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
@@ -1596,17 +1581,16 @@ DEP_CPP_JSDBG=\
 	".\jshash.h"\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsscript.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
@@ -1634,17 +1618,16 @@ SOURCE=.\jsdhash.c
 !IF  "$(CFG)" == "js - Win32 Release"
 
 DEP_CPP_JSDHA=\
 	".\jsbit.h"\
 	".\jscompat.h"\
 	".\jscpucfg.h"\
 	".\jsdhash.h"\
 	".\jslong.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jstypes.h"\
 	".\jsutil.h"\
 	{$(INCLUDE)}"\sys\types.h"\
 	
 NODEP_CPP_JSDHA=\
 	".\jsautocfg.h"\
 	
@@ -1655,17 +1638,16 @@ NODEP_CPP_JSDHA=\
 !ELSEIF  "$(CFG)" == "js - Win32 Debug"
 
 DEP_CPP_JSDHA=\
 	".\jsbit.h"\
 	".\jscompat.h"\
 	".\jscpucfg.h"\
 	".\jsdhash.h"\
 	".\jslong.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jstypes.h"\
 	".\jsutil.h"\
 	{$(INCLUDE)}"\sys\types.h"\
 	
 NODEP_CPP_JSDHA=\
 	".\jsautocfg.h"\
 	
@@ -1683,17 +1665,16 @@ SOURCE=.\jsdtoa.c
 
 !IF  "$(CFG)" == "js - Win32 Release"
 
 DEP_CPP_JSDTO=\
 	".\jscompat.h"\
 	".\jscpucfg.h"\
 	".\jsdtoa.h"\
 	".\jslong.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsstddef.h"\
 	".\jstypes.h"\
 	".\jsutil.h"\
 	{$(INCLUDE)}"\sys\types.h"\
 	
 NODEP_CPP_JSDTO=\
@@ -1706,17 +1687,16 @@ NODEP_CPP_JSDTO=\
 
 !ELSEIF  "$(CFG)" == "js - Win32 Debug"
 
 DEP_CPP_JSDTO=\
 	".\jscompat.h"\
 	".\jscpucfg.h"\
 	".\jsdtoa.h"\
 	".\jslong.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsstddef.h"\
 	".\jstypes.h"\
 	".\jsutil.h"\
 	{$(INCLUDE)}"\sys\types.h"\
 	
 NODEP_CPP_JSDTO=\
@@ -1754,17 +1734,16 @@ DEP_CPP_JSEMI=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsparse.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscan.h"\
 	".\jsscope.h"\
@@ -1803,17 +1782,16 @@ DEP_CPP_JSEMI=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsparse.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscan.h"\
 	".\jsscope.h"\
@@ -1857,17 +1835,16 @@ DEP_CPP_JSEXN=\
 	".\jsfun.h"\
 	".\jsgc.h"\
 	".\jshash.h"\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsobj.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
@@ -1900,17 +1877,16 @@ DEP_CPP_JSEXN=\
 	".\jsfun.h"\
 	".\jsgc.h"\
 	".\jshash.h"\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsobj.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
@@ -1954,17 +1930,16 @@ DEP_CPP_JSFUN=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsparse.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscan.h"\
 	".\jsscope.h"\
 	".\jsscript.h"\
@@ -2003,17 +1978,16 @@ DEP_CPP_JSFUN=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsparse.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscan.h"\
 	".\jsscope.h"\
 	".\jsscript.h"\
@@ -2057,17 +2031,16 @@ DEP_CPP_JSGC_=\
 	".\jsgc.h"\
 	".\jshash.h"\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsscript.h"\
 	".\jsstddef.h"\
@@ -2102,17 +2075,16 @@ DEP_CPP_JSGC_=\
 	".\jsgc.h"\
 	".\jshash.h"\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsscript.h"\
 	".\jsstddef.h"\
@@ -2142,17 +2114,16 @@ SOURCE=.\jshash.c
 !IF  "$(CFG)" == "js - Win32 Release"
 
 DEP_CPP_JSHAS=\
 	".\jsbit.h"\
 	".\jscompat.h"\
 	".\jscpucfg.h"\
 	".\jshash.h"\
 	".\jslong.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jstypes.h"\
 	".\jsutil.h"\
 	{$(INCLUDE)}"\sys\types.h"\
 	
 NODEP_CPP_JSHAS=\
 	".\jsautocfg.h"\
 	
@@ -2163,17 +2134,16 @@ NODEP_CPP_JSHAS=\
 !ELSEIF  "$(CFG)" == "js - Win32 Debug"
 
 DEP_CPP_JSHAS=\
 	".\jsbit.h"\
 	".\jscompat.h"\
 	".\jscpucfg.h"\
 	".\jshash.h"\
 	".\jslong.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jstypes.h"\
 	".\jsutil.h"\
 	{$(INCLUDE)}"\sys\types.h"\
 	
 NODEP_CPP_JSHAS=\
 	".\jsautocfg.h"\
 	
@@ -2210,17 +2180,16 @@ DEP_CPP_JSINT=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsscript.h"\
 	".\jsstddef.h"\
@@ -2260,17 +2229,16 @@ DEP_CPP_JSINT=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsscript.h"\
 	".\jsstddef.h"\
@@ -2318,17 +2286,16 @@ DEP_CPP_JSINT=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsscript.h"\
 	".\jsstddef.h"\
@@ -2368,17 +2335,16 @@ DEP_CPP_JSINT=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsscript.h"\
 	".\jsstddef.h"\
@@ -2419,17 +2385,16 @@ DEP_CPP_JSLOC=\
 	".\jscpucfg.h"\
 	".\jsgc.h"\
 	".\jshash.h"\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsobj.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
 	".\jstypes.h"\
@@ -2461,17 +2426,16 @@ DEP_CPP_JSLOC=\
 	".\jscpucfg.h"\
 	".\jsgc.h"\
 	".\jshash.h"\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsobj.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
 	".\jstypes.h"\
@@ -2497,34 +2461,32 @@ NODEP_CPP_JSLOC=\
 
 SOURCE=.\jslog2.c
 
 !IF  "$(CFG)" == "js - Win32 Release"
 
 DEP_CPP_JSLOG=\
 	".\jsbit.h"\
 	".\jscpucfg.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jstypes.h"\
 	{$(INCLUDE)}"\sys\types.h"\
 	
 NODEP_CPP_JSLOG=\
 	".\jsautocfg.h"\
 	
 
 "$(INTDIR)\jslog2.obj" : $(SOURCE) $(DEP_CPP_JSLOG) "$(INTDIR)"
 
 
 !ELSEIF  "$(CFG)" == "js - Win32 Debug"
 
 DEP_CPP_JSLOG=\
 	".\jsbit.h"\
 	".\jscpucfg.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jstypes.h"\
 	{$(INCLUDE)}"\sys\types.h"\
 	
 NODEP_CPP_JSLOG=\
 	".\jsautocfg.h"\
 	
 
@@ -2539,34 +2501,32 @@ NODEP_CPP_JSLOG=\
 
 SOURCE=.\jslong.c
 
 !IF  "$(CFG)" == "js - Win32 Release"
 
 DEP_CPP_JSLON=\
 	".\jscpucfg.h"\
 	".\jslong.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jstypes.h"\
 	{$(INCLUDE)}"\sys\types.h"\
 	
 NODEP_CPP_JSLON=\
 	".\jsautocfg.h"\
 	
 
 "$(INTDIR)\jslong.obj" : $(SOURCE) $(DEP_CPP_JSLON) "$(INTDIR)"
 
 
 !ELSEIF  "$(CFG)" == "js - Win32 Debug"
 
 DEP_CPP_JSLON=\
 	".\jscpucfg.h"\
 	".\jslong.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jstypes.h"\
 	{$(INCLUDE)}"\sys\types.h"\
 	
 NODEP_CPP_JSLON=\
 	".\jsautocfg.h"\
 	
 
@@ -2598,17 +2558,16 @@ DEP_CPP_JSMAT=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslibmath.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsmath.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
 	".\jstypes.h"\
@@ -2641,17 +2600,16 @@ DEP_CPP_JSMAT=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslibmath.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsmath.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
 	".\jstypes.h"\
@@ -2693,17 +2651,16 @@ DEP_CPP_JSNUM=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
@@ -2738,17 +2695,16 @@ DEP_CPP_JSNUM=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
@@ -2793,17 +2749,16 @@ DEP_CPP_JSOBJ=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsscript.h"\
 	".\jsstddef.h"\
@@ -2842,17 +2797,16 @@ DEP_CPP_JSOBJ=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsscript.h"\
 	".\jsstddef.h"\
@@ -2900,17 +2854,16 @@ DEP_CPP_JSOPC=\
 	".\jshash.h"\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsscript.h"\
 	".\jsstddef.h"\
@@ -2949,17 +2902,16 @@ DEP_CPP_JSOPC=\
 	".\jshash.h"\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsscript.h"\
 	".\jsstddef.h"\
@@ -3004,17 +2956,16 @@ DEP_CPP_JSPAR=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsparse.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscan.h"\
 	".\jsscope.h"\
 	".\jsscript.h"\
@@ -3052,17 +3003,16 @@ DEP_CPP_JSPAR=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsparse.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscan.h"\
 	".\jsscope.h"\
 	".\jsscript.h"\
@@ -3089,17 +3039,16 @@ NODEP_CPP_JSPAR=\
 
 SOURCE=.\jsprf.c
 
 !IF  "$(CFG)" == "js - Win32 Release"
 
 DEP_CPP_JSPRF=\
 	".\jscpucfg.h"\
 	".\jslong.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jstypes.h"\
 	".\jsutil.h"\
 	{$(INCLUDE)}"\sys\types.h"\
 	
 NODEP_CPP_JSPRF=\
 	".\jsautocfg.h"\
@@ -3108,17 +3057,16 @@ NODEP_CPP_JSPRF=\
 "$(INTDIR)\jsprf.obj" : $(SOURCE) $(DEP_CPP_JSPRF) "$(INTDIR)"
 
 
 !ELSEIF  "$(CFG)" == "js - Win32 Debug"
 
 DEP_CPP_JSPRF=\
 	".\jscpucfg.h"\
 	".\jslong.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jstypes.h"\
 	".\jsutil.h"\
 	{$(INCLUDE)}"\sys\types.h"\
 	
 NODEP_CPP_JSPRF=\
 	".\jsautocfg.h"\
@@ -3154,17 +3102,16 @@ DEP_CPP_JSREG=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
 	".\jstypes.h"\
@@ -3200,17 +3147,16 @@ DEP_CPP_JSREG=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
 	".\jstypes.h"\
@@ -3254,17 +3200,16 @@ DEP_CPP_JSSCA=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscan.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
@@ -3304,17 +3249,16 @@ DEP_CPP_JSSCA=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscan.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
@@ -3397,17 +3341,16 @@ DEP_CPP_JSSCO=\
 	".\jsgc.h"\
 	".\jshash.h"\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
 	".\jstypes.h"\
@@ -3438,17 +3381,16 @@ DEP_CPP_JSSCO=\
 	".\jsgc.h"\
 	".\jshash.h"\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
 	".\jstypes.h"\
@@ -3492,17 +3434,16 @@ DEP_CPP_JSSCR=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsscript.h"\
 	".\jsstddef.h"\
@@ -3541,17 +3482,16 @@ DEP_CPP_JSSCR=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsscript.h"\
 	".\jsstddef.h"\
@@ -3597,17 +3537,16 @@ DEP_CPP_JSSTR=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
@@ -3643,17 +3582,16 @@ DEP_CPP_JSSTR=\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsnum.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
@@ -3677,17 +3615,16 @@ NODEP_CPP_JSSTR=\
 # Begin Source File
 
 SOURCE=.\jsutil.c
 
 !IF  "$(CFG)" == "js - Win32 Release"
 
 DEP_CPP_JSUTI=\
 	".\jscpucfg.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jstypes.h"\
 	".\jsutil.h"\
 	{$(INCLUDE)}"\sys\types.h"\
 	
 NODEP_CPP_JSUTI=\
 	".\jsautocfg.h"\
@@ -3695,17 +3632,16 @@ NODEP_CPP_JSUTI=\
 
 "$(INTDIR)\jsutil.obj" : $(SOURCE) $(DEP_CPP_JSUTI) "$(INTDIR)"
 
 
 !ELSEIF  "$(CFG)" == "js - Win32 Debug"
 
 DEP_CPP_JSUTI=\
 	".\jscpucfg.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jstypes.h"\
 	".\jsutil.h"\
 	{$(INCLUDE)}"\sys\types.h"\
 	
 NODEP_CPP_JSUTI=\
 	".\jsautocfg.h"\
@@ -3736,17 +3672,16 @@ DEP_CPP_JSXDR=\
 	".\jscpucfg.h"\
 	".\jsgc.h"\
 	".\jshash.h"\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsobj.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
@@ -3778,17 +3713,16 @@ DEP_CPP_JSXDR=\
 	".\jscpucfg.h"\
 	".\jsgc.h"\
 	".\jshash.h"\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsobj.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscope.h"\
 	".\jsstddef.h"\
 	".\jsstr.h"\
@@ -3899,17 +3833,16 @@ NODEP_CPP_JSXML=\
 SOURCE=.\prmjtime.c
 
 !IF  "$(CFG)" == "js - Win32 Release"
 
 DEP_CPP_PRMJT=\
 	".\jscompat.h"\
 	".\jscpucfg.h"\
 	".\jslong.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jstypes.h"\
 	".\prmjtime.h"\
 	{$(INCLUDE)}"\sys\TIMEB.H"\
 	{$(INCLUDE)}"\sys\types.h"\
 	
 NODEP_CPP_PRMJT=\
@@ -3920,17 +3853,16 @@ NODEP_CPP_PRMJT=\
 
 
 !ELSEIF  "$(CFG)" == "js - Win32 Debug"
 
 DEP_CPP_PRMJT=\
 	".\jscompat.h"\
 	".\jscpucfg.h"\
 	".\jslong.h"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsprf.h"\
 	".\jstypes.h"\
 	".\prmjtime.h"\
 	{$(INCLUDE)}"\sys\TIMEB.H"\
 	{$(INCLUDE)}"\sys\types.h"\
 	
 NODEP_CPP_PRMJT=\
@@ -3995,17 +3927,16 @@ DEP_CPP_JS_C42=\
 	".\jshash.h"\
 	".\jsinterp.h"\
 	".\jsiter.h"\
 	".\jslock.h"\
 	".\jslong.h"\
 	".\jsobj.h"\
 	".\jsopcode.h"\
 	".\jsopcode.tbl"\
-	".\jsosdep.h"\
 	".\jsotypes.h"\
 	".\jsparse.h"\
 	".\jsprf.h"\
 	".\jsprvtd.h"\
 	".\jspubtd.h"\
 	".\jsregexp.h"\
 	".\jsscan.h"\
 	".\jsscope.h"\
--- a/js/src/jscpucfg.c
+++ b/js/src/jscpucfg.c
@@ -59,17 +59,17 @@
 #define INT64   long long
 #else
 #define INT64   _int64
 #endif /* __GNUC__ */
 #else
 #define INT64   long
 #endif
 #else
-#if defined(HPUX) || defined(__QNX__) || defined(_SCO_DS) || defined(UNIXWARE)
+#if defined(HPUX) || defined(__QNX__)
 #define INT64   long
 #else
 #define INT64   long long
 #endif
 #endif
 
 #endif /* CROSS_COMPILE */
 
@@ -368,13 +368,16 @@ int main(int argc, char **argv)
     printf("#define JS_BYTES_PER_WORD_LOG2   %dL\n", Log2(sizeof_word));
     printf("#define JS_BYTES_PER_DWORD_LOG2  %dL\n", Log2(sizeof_dword));
     printf("#define JS_WORDS_PER_DWORD_LOG2  %dL\n", Log2(sizeof_dword/sizeof_word));
     printf("\n");
 
     printf("#define JS_STACK_GROWTH_DIRECTION (%d)\n", StackGrowthDirection(&dummy1));
     printf("\n");
 
+    printf("#define JS_HAVE_LONG_LONG\n");
+    printf("\n");
+
     printf("#endif /* js_cpucfg___ */\n");
 
     return EXIT_SUCCESS;
 }
 
--- a/js/src/jscpucfg.h
+++ b/js/src/jscpucfg.h
@@ -35,17 +35,17 @@
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #ifndef js_cpucfg___
 #define js_cpucfg___
 
-#include "jsosdep.h"
+#define JS_HAVE_LONG_LONG
 
 #if defined(XP_WIN) || defined(XP_OS2) || defined(WINCE)
 
 #if defined(_WIN64)
 
 #if defined(_M_X64) || defined(_M_AMD64) || defined(_AMD64_)
 #define IS_LITTLE_ENDIAN 1
 #undef  IS_BIG_ENDIAN
--- a/js/src/jslibmath.h
+++ b/js/src/jslibmath.h
@@ -110,17 +110,17 @@ extern double js_copysign(double, double
 
 #undef __P
 #ifdef __STDC__
 #define __P(p)  p
 #else
 #define __P(p)  ()
 #endif
 
-#if (defined _WIN32 && !defined WINCE) || defined SUNOS4
+#if defined _WIN32 && !defined WINCE
 
 #define fd_acos acos
 #define fd_asin asin
 #define fd_atan atan
 #define fd_cos cos
 #define fd_sin sin
 #define fd_tan tan
 #define fd_exp exp
--- a/js/src/jslock.c
+++ b/js/src/jslock.c
@@ -134,54 +134,16 @@ js_CompareAndSwap(jsword *w, jsword ov, 
                           "sete %%al\n"
                           "andl $1, %%eax\n"
                           : "=a" (res)
                           : "r" (w), "r" (nv), "a" (ov)
                           : "cc", "memory");
     return (int)res;
 }
 
-#elif (defined(__USLC__) || defined(_SCO_DS)) && defined(i386)
-
-/* Note: This fails on 386 cpus, cmpxchgl is a >= 486 instruction */
-
-asm int
-js_CompareAndSwap(jsword *w, jsword ov, jsword nv)
-{
-%ureg w, nv;
-	movl	ov,%eax
-	lock
-	cmpxchgl nv,(w)
-	sete	%al
-	andl	$1,%eax
-%ureg w;  mem ov, nv;
-	movl	ov,%eax
-	movl	nv,%ecx
-	lock
-	cmpxchgl %ecx,(w)
-	sete	%al
-	andl	$1,%eax
-%ureg nv;
-	movl	ov,%eax
-	movl	w,%edx
-	lock
-	cmpxchgl nv,(%edx)
-	sete	%al
-	andl	$1,%eax
-%mem w, ov, nv;
-	movl	ov,%eax
-	movl	nv,%ecx
-	movl	w,%edx
-	lock
-	cmpxchgl %ecx,(%edx)
-	sete	%al
-	andl	$1,%eax
-}
-#pragma asm full_optimization js_CompareAndSwap
-
 #elif defined(SOLARIS) && defined(sparc) && defined(ULTRA_SPARC)
 
 static JS_INLINE int
 js_CompareAndSwap(jsword *w, jsword ov, jsword nv)
 {
 #if defined(__GNUC__)
     unsigned int res;
     JS_ASSERT(ov != nv);
--- a/js/src/jslock.h
+++ b/js/src/jslock.h
@@ -245,17 +245,16 @@ extern JSBool js_IsTitleLocked(JSContext
     JS_BEGIN_MACRO                                                            \
         JSRuntime *_rt = (cx)->runtime;                                       \
         JS_LOCK_RUNTIME_VOID(_rt, e);                                         \
     JS_END_MACRO
 
 #if defined(JS_USE_ONLY_NSPR_LOCKS) ||                                        \
     !( (defined(_WIN32) && defined(_M_IX86)) ||                               \
        (defined(__GNUC__) && defined(__i386__)) ||                            \
-       ((defined(__USLC__) || defined(_SCO_DS)) && defined(i386)) ||          \
        (defined(SOLARIS) && defined(sparc) && defined(ULTRA_SPARC)) ||        \
        defined(AIX) )
 
 #define NSPR_LOCK 1
 
 #undef JS_LOCK0
 #undef JS_UNLOCK0
 #define JS_LOCK0(P,M)   (JS_ACQUIRE_LOCK(((JSLock*)(P)->fat)), (P)->owner = (M))
deleted file mode 100644
--- a/js/src/jsosdep.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released
- * March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either of the GNU General Public License Version 2 or later (the "GPL"),
- * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#ifndef jsosdep_h___
-#define jsosdep_h___
-/*
- * OS (and machine, and compiler XXX) dependent information.
- */
-
-#if defined(XP_WIN) || defined(XP_OS2)
-
-#if defined(_WIN32) || defined (XP_OS2)
-#define JS_HAVE_LONG_LONG
-#else
-#undef JS_HAVE_LONG_LONG
-#endif
-#endif /* XP_WIN || XP_OS2 */
-
-#ifdef XP_BEOS
-#define JS_HAVE_LONG_LONG
-#endif
-
-
-#ifdef XP_UNIX
-
-/*
- * Get OS specific header information.
- */
-#if defined(XP_MACOSX) || defined(DARWIN)
-#define JS_HAVE_LONG_LONG
-
-#elif defined(AIXV3) || defined(AIX)
-#define JS_HAVE_LONG_LONG
-
-#elif defined(BSDI)
-#define JS_HAVE_LONG_LONG
-
-#elif defined(HPUX)
-#define JS_HAVE_LONG_LONG
-
-#elif defined(IRIX)
-#define JS_HAVE_LONG_LONG
-
-#elif defined(linux)
-#define JS_HAVE_LONG_LONG
-
-#elif defined(OSF1)
-#define JS_HAVE_LONG_LONG
-
-#elif defined(_SCO_DS)
-#undef JS_HAVE_LONG_LONG
-
-#elif defined(SOLARIS)
-#define JS_HAVE_LONG_LONG
-
-#elif defined(FREEBSD)
-#define JS_HAVE_LONG_LONG
-
-#elif defined(SUNOS4)
-#undef JS_HAVE_LONG_LONG
-
-/*
-** Missing function prototypes
-*/
-
-extern void *sbrk(int);
-
-#elif defined(UNIXWARE)
-#undef JS_HAVE_LONG_LONG
-
-#elif defined(VMS) && defined(__ALPHA)
-#define JS_HAVE_LONG_LONG
-
-#endif
-
-#endif /* XP_UNIX */
-
-#endif /* jsosdep_h___ */
-
--- a/js/src/jstypes.h
+++ b/js/src/jstypes.h
@@ -242,17 +242,16 @@
 #define JS_ROUNDUP(x,y) (JS_HOWMANY(x,y)*(y))
 #define JS_MIN(x,y)     ((x)<(y)?(x):(y))
 #define JS_MAX(x,y)     ((x)>(y)?(x):(y))
 
 #if (defined(XP_WIN) && !defined(CROSS_COMPILE)) || defined (WINCE)
 # include "jscpucfg.h"      /* Use standard Mac or Windows configuration */
 #elif defined(XP_UNIX) || defined(XP_BEOS) || defined(XP_OS2) || defined(CROSS_COMPILE)
 # include "jsautocfg.h"     /* Use auto-detected configuration */
-# include "jsosdep.h"       /* ...and platform-specific flags */
 #else
 # error "Must define one of XP_BEOS, XP_OS2, XP_WIN or XP_UNIX"
 #endif
 
 JS_BEGIN_EXTERN_C
 
 /************************************************************************
 ** TYPES:       JSUint8
--- a/js/src/prmjtime.c
+++ b/js/src/prmjtime.c
@@ -105,23 +105,17 @@ JSInt32
 PRMJ_LocalGMTDifference()
 {
     struct tm ltime;
 
     /* get the difference between this time zone and GMT */
     memset((char *)&ltime,0,sizeof(ltime));
     ltime.tm_mday = 2;
     ltime.tm_year = 70;
-#ifdef SUNOS4
-    ltime.tm_zone = 0;
-    ltime.tm_gmtoff = 0;
-    return timelocal(&ltime) - (24 * 3600);
-#else
     return (JSInt32)mktime(&ltime) - (24L * 3600L);
-#endif
 }
 
 /* Constants for GMT offset from 1970 */
 #define G1970GMTMICROHI        0x00dcdcad /* micro secs to 1970 hi */
 #define G1970GMTMICROLOW       0x8b3fa000 /* micro secs to 1970 low */
 
 #define G2037GMTMICROHI        0x00e45fab /* micro secs to 2037 high */
 #define G2037GMTMICROLOW       0x7a238000 /* micro secs to 2037 low */
@@ -633,28 +627,16 @@ PRMJ_FormatTime(char *buf, int buflen, c
 
     /*
      * Even with the above, SunOS 4 seems to detonate if tm_zone and tm_gmtoff
      * are null.  This doesn't quite work, though - the timezone is off by
      * tzoff + dst.  (And mktime seems to return -1 for the exact dst
      * changeover time.)
      */
 
-#if defined(SUNOS4)
-    if (mktime(&a) == -1) {
-        /* Seems to fail whenever the requested date is outside of the 32-bit
-         * UNIX epoch.  We could proceed at this point (setting a.tm_zone to
-         * "") but then strftime returns a string with a 2-digit field of
-         * garbage for the year.  So we return 0 and hope jsdate.c
-         * will fall back on toString.
-         */
-        return 0;
-    }
-#endif
-
 #ifdef NS_HAVE_INVALID_PARAMETER_HANDLER
     oldHandler = _set_invalid_parameter_handler(PRMJ_InvalidParameterHandler);
     oldReportMode = _CrtSetReportMode(_CRT_ASSERT, 0);
 #endif
 
     result = strftime(buf, buflen, fmt, &a);
 
 #ifdef NS_HAVE_INVALID_PARAMETER_HANDLER