Commit Graph

112 Commits

Author SHA1 Message Date
Jim Blandy
ede7e6d142 Bug 391488: Eliminate PTRDIFF macro; delete jssttddef.h. r=jimb
Delete jsstddef.h, since its only remaining purpose is to make certain
Win16-specific definitions; we don't support Win16 any more.  In
particular, we can just subtract pointers now, so the PTRDIFF macro is
unnecessary noise.

Most places get stddef.h via jstypes.h or some other header, so we can
just delete #inclusions of jstddef.h.  The exception is jskwgen.h, so
there we explicitly include <stddef.h> instead.
2009-02-18 09:14:51 -08:00
Brendan Eich
849c76814c Give up on automation due to intermittent redness (r=jst). 2009-02-02 18:52:12 -08:00
Brendan Eich
f851419b1a Try hardest to fix redness (r=me). 2009-02-02 15:15:19 -08:00
Brendan Eich
20c89faa69 Try harder to fix redness (r=bsmedberg). 2009-02-02 14:33:03 -08:00
Brendan Eich
e69c309ec4 Try to fix redness (r=ted). 2009-02-02 14:17:59 -08:00
Brendan Eich
ef51420787 Bug 476181 - imacros.c.out out of date; also Makefile.in bustage/cleanup (r=ted/jorendorff). 2009-02-02 13:56:34 -08:00
Benjamin Smedberg
82ba665418 Bug 269538 - use stdint types instead of jscpucfg types, now that we have them auto-configured
* Various code inside and outside of JS uses JS_BYTES_PER_WORD, so I added it to js-config.h
* Existing code uses JS_BYTES_PER_DOUBLE, JS_BITS_PER_WORD_LOG2, and JS_ALIGN_OF_POINTER so I've added autoconf tests for those

r=crowder r=jimb
2009-01-14 15:56:30 -05:00
Benjamin Smedberg
09ffef3261 Backed out changeset 525e42406396, bug 269538 (jscpucfg-ectomy) due to Windows TUnit bustage. 2009-01-21 17:34:28 -05:00
Benjamin Smedberg
db11be65b9 Bug 269538 - use stdint types instead of jscpucfg types, now that we have them auto-configured
* Various code inside and outside of JS uses JS_BYTES_PER_WORD, so I added it to js-config.h
* Existing code uses JS_BYTES_PER_DOUBLE, JS_BITS_PER_WORD_LOG2, and JS_ALIGN_OF_POINTER so I've added autoconf tests for those

r=crowder r=jimb
2009-01-14 15:56:30 -05:00
Ted Mielczarek
68f2eb86cc bug 462004 - JavaScript shell should provide line editing facilities. r=bsmedberg
--HG--
rename : js/src/js.cpp => js/src/shell/js.cpp
2008-12-03 08:55:27 -05:00
Jim Blandy
a04892f62e Bug 465640: Use autoconf to declare stdint types on platforms that don't have stdint.h r=bsmedberg
At configure time, check for <stdint.h>.  If we don't have it, find
integer types of various sizes.  On Windows, where we can't run
compilation tests in configure, hard-code definitions suggesting the
use of the built-in __intN types for the exact-size types, and
<stddef.h> for the pointer-sized types.

Use namespace-clean names for the preprocessor macros we define.
Since these types are used in the public JavaScript API, the configure
script needs to place the definitions it finds in js-config.h, the
installed configure-generated header, so it can be used by jsapi.h and
that gang.

New header js/src/jsstdint.h does what it takes to get definitions for
the exact-size and pointer-size integral types.  It includes
<stdint.h> when available, uses the types found by configure.in to
define the {,u}int{8,16,32,64,ptr}_t types itself, or uses the __intN
types and the <stddef.h> header.

Remove now-unnecessary and possibly conflicting definitions of intN_t
types from js/src/nanojit/avmplus.h.
2009-01-13 10:50:24 -08:00
Benjamin Smedberg
fec9af26d0 Bug 463172 - add a --disable-jit option, r=ted 2009-01-13 11:34:51 -05:00
Ted Mielczarek
d8bff4cf58 bug 471188 - stop calling 'make install' for spidermonkey. r=bsmedberg,jimb 2009-01-08 13:51:27 -05:00
Phil Ringnalda
7663cc21c2 Merge for backout of changeset 55e23c647137 (bug 462004) so the backout for bug 467862 to solve bug 471097 can actually build 2008-12-25 19:51:35 -08:00
Phil Ringnalda
2d35d8d90f Backed out changeset 55e23c647137 (bug 462004) so the backout for bug 467862 to solve bug 471097 can actually build 2008-12-25 19:49:53 -08:00
Robert Sayre
c36cc631e9 Ho ho ho, it's a lump of hg coal. Merge.
--HG--
rename : js/src/js.cpp => js/src/shell/js.cpp
2008-12-25 20:19:52 -05:00
Robert Sayre
c918482535 Merge m-c to tracemonkey. 2008-12-18 15:17:19 -05:00
Benjamin Smedberg
a417fbee4c Bug 468937 - Add some basic tests for the red/green (cx->fp) analysis 2008-12-17 13:27:26 -05:00
Brendan Eich
56658da21f Bug 465460 - TM: valueOf ignored on third iteration of loop (r=gal). 2008-12-16 19:03:42 -08:00
Jim Blandy
73253da291 Bug 468041: List the object files that depend on javascript-trace.h explicitly. r=bsmedberg
It seems gratuitous to rebuild every object file when
javascript-trace.h changes.
2008-12-16 11:50:21 -08:00
Robert Sayre
443f738d12 Backed out changeset f682453c06d0. Failing scriptaculous unit tests, doesn't build on windows or mac ppc. 2008-12-11 20:43:32 -08:00
Brendan Eich
ece10ee8df Bug 465460 - TM: valueOf ignored on third iteration of loop (r=gal). 2008-12-11 17:50:56 -08:00
Benjamin Smedberg
e8ea9cf02d Merge mozilla-central into tracemonkey, specifically to pick up bug 467579. 2008-12-09 21:37:35 -05:00
Jim Blandy
1e6522ed70 Bug 463339: Have js/src use symlinks when installing in dist. r=bsmedberg
A directory's 'libs' target should create symlinks in the top-level
dist/bin and dist/lib directories to the libraries (and any other
generated files) in the build tree, so that when one has changed
sources in $src/js/src, simply running 'make' in $obj/js/src and then
re-running $obj/dist/bin/firefox will pick up the new libraries.

The js/src/Makefile.in 'install' target has many double-colon rules
with commands; we'd like to use these all in two circumstances:

. For 'make install' in a stand-alone js/src build.  Since we're
  following GNU behavior, this should copy the files it's installing.

. For 'make libs' in an in-tree js/src build.  To interact properly
  with the rest of the Mozilla build system, this should create
  symlinks as explained above.

To accomplish this, we use plain old $(INSTALL) in all the install
targets, have js/src/Makefile.in set NSDISTMODE to copy (to get the
GNU behavior), and then have config/js/Makefile.in override that (to
get the Mozilla in-tree behavior).
2008-12-08 09:35:58 -08:00
Ted Mielczarek
1603009445 bug 462004 - JavaScript shell should provide line editing facilities. r=bsmedberg
--HG--
rename : js/src/js.cpp => js/src/shell/js.cpp
2008-12-03 08:55:27 -05:00
Aiko
aae680fe23 Bug 341901 - versioninfo for js3250.dll is bad. r=bsmedberg 2008-12-07 15:34:58 +01:00
Wan-Teh Chang
289d854372 Bug 466531 - Crash/hang [@ mult][@ Balloc] when loading pages on PPC; Proposed patch for JS (trunk); r=jim 2008-12-06 16:50:49 +01:00
Robert O'Callahan
72029ea360 Backing out bug 463339 due to Mac build failure 2008-11-19 14:52:16 +13:00
Jim Blandy
772d66ffe6 Bug 463339. Have js/src use symlinks when installing in dist. r=bsmedberg,a=sayrer 2008-11-19 14:14:04 +13:00
Jim Blandy
2798283907 Bug 464127 - Don't use -Os with Intel C/C++ compilers r=ted.mielczarek
Intel recommends against the use of -Os, and using it seems to produce
incorrect code in many recent versions of Intel's compilers.

js/src/Makefile.in tries to use -Os only with G++, but it tests
INTEL_CC, not INTEL_CXX --- even though almost all the sources are
C++.  Check INTEL_CXX instead.
2008-11-14 14:15:02 -08:00
Andreas Gal
4deed08183 Merge. 2008-11-14 00:14:52 -08:00
Jim Blandy
d79ee2ff98 Bug 462272: Record dependency on generated header javascript-trace.h, r=mrbkap, NPOB
Record object files' dependency on javascript-trace.h, when
HAVE_DTRACE is set.

Use $(CURDIR) where javascript-trace.h appears as a target or
dependency, to ensure that VPATH doesn't cause us to use a copy other
than the one in the object directory.
2008-11-13 14:51:37 +01:00
Jim Blandy
07a52be674 Bug 462451: Don't find generated SpiderMonkey headers via VPATH. r=bsmedberg 2008-11-10 12:55:46 -08:00
Phil Ringnalda
bbe7e1d08a Bug 461888 - Remove unused PACKAGE_FILE and PACKAGE_VARS and .pkg files, mozilla-central part, r=bsmedberg 2008-11-03 19:46:28 -08:00
Doug Turner
e5a3cd9352 Bug 462215 - javascript autoconf busted on windows mobile. r=ted 2008-10-30 14:41:21 -07:00
Jim Blandy
e8bc490fa7 Bug 97954: Compare SpiderMonkey's copies of build files with originals at check time. r=luser
SpiderMonkey now has its own copy of some of the files from ./config
and ./build.  Since there is a decent amount of churn in that area, I
don't want it to become a burden to make merges back and forth.  This
patch adds a comment explaining the 'identical if present' policy, and
runs a script to verify that it's actually being observed.
2008-10-29 08:40:39 -07:00
Jim Blandy
216f4ef465 Bug 97954: Record configuration details in an installable header. r=bsmedberg
Have js/src/configure create a header file, js-config.h, that records
configure-controlled options that affect the SpiderMonkey API, like
'--enable-threadsafe'.  js-config.h is namespace-clean, so it can be
installed with jsapi.h.

This means that clients can configure SpiderMonkey however they like,
and then simply #include "jsapi.h" and have everything work; they
don't have to remember to match their own compiler -D flags with those
SpiderMonkey's configure script chose.  For example, mozilla-config.h
needn't concern itself with JS_THREADSAFE.

It seems to me this could also be done by having js-config --cflags
print -D options.  The approach taken here seems a bit more robust: if
you can find jsapi.h at all, then you know you're getting the right
settings.
2008-10-29 08:29:37 -07:00
Jim Blandy
f83d8c9ea3 Bug 97954: Allow SpiderMonkey to be built on its own, or as part of Mozilla.
Give SpiderMonkey its own configure script and top-level Makefile.
Adjust js/src/Makefile as appropriate for life as a stand-alone
makefile, instead of a 'make export; make libs'-style Mozilla tier
makefile.  Have the configure script accept '--with-nspr-cflags' and
'--with-nspr-libs' options for using an in-tree NSPR.  Also accept
'--with-system-nspr', '--with-nspr-prefix', and
'--with-nspr-exec-prefix' flags for using an installed NSPR.  Default
to --disable-jemalloc, assuming we don't have that part of the tree
available; have the top-level configure script pass --enable-jemalloc
as needed.

Since we no longer have an export phase to copy header files into
dist/include/js before we build the library, we need to be able to
find nanojit.h in the nanojit directory; fix references in
jsbuiltins.h and jstracer.cpp.

Give SpiderMonkey it its own copies of many of the files from ./config
and ./build.  These are all exact copies, except as follows:

. js/src/config/Makefile.in: js/src only has a subset of
  js/src/config, and thus a subset of the makefile targets.

. js/src/config/autoconf.mk.in: js/src/configure.in has its own make
  variables to set, not set by the top-level configure script, so it
  needs a custom automake.mk template.

. js/src/config/make-system-wrappers.pl: a copy from nsprpub/config,
  so that we can build without having an NSPR source tree handy.

Invoke js/src/configure from ./configure, passing the values computed
for NSPR_CFLAGS and NSPR_LIBS by the top-level configure script.

Treat js/src as a static directory of the js tier, and create a new
config/js (just a Makefile) to be the js tier's non-static directory.
Let js/src/configure generate SpiderMonkey's makefiles, not
./configure.

Generate a 'js-config' script, which clients can call to find the
CFLAGS and LIBS values necessary to compile and link against an
installed SpiderMonkey library.  Don't include the js-config script in
Macintosh packages.

Teach client.mk how to rebuild js/src/configure.

Tell Mercurial to ignore files generated by autoconf in js/src.

Further work:

. Right now, callers must define JS_THREADSAFE when #including jsapi.h.
  This is fixed in a subsequent patch.

. js/src/configure is a trimmed copy of ./configure.  It could be
  trimmed more.

--HG--
rename : build/autoconf/acoutput-fast.pl => js/src/build/autoconf/acoutput-fast.pl
rename : build/autoconf/altoptions.m4 => js/src/build/autoconf/altoptions.m4
rename : build/autoconf/config.guess => js/src/build/autoconf/config.guess
rename : build/autoconf/config.sub => js/src/build/autoconf/config.sub
rename : build/autoconf/glib.m4 => js/src/build/autoconf/glib.m4
rename : build/autoconf/install-sh => js/src/build/autoconf/install-sh
rename : build/autoconf/make-makefile => js/src/build/autoconf/make-makefile
rename : build/autoconf/match-dir.sh => js/src/build/autoconf/match-dir.sh
rename : build/autoconf/nspr.m4 => js/src/build/autoconf/nspr.m4
rename : build/autoconf/pkg.m4 => js/src/build/autoconf/pkg.m4
rename : build/autoconf/update-makefile.sh => js/src/build/autoconf/update-makefile.sh
rename : build/cygwin-wrapper => js/src/build/cygwin-wrapper
rename : build/hcc => js/src/build/hcc
rename : build/hcpp => js/src/build/hcpp
rename : build/unix/mddepend.pl => js/src/build/unix/mddepend.pl
rename : build/unix/uniq.pl => js/src/build/unix/uniq.pl
rename : config/Makefile.in => js/src/config/Makefile.in
rename : config/Moz/Milestone.pm => js/src/config/Moz/Milestone.pm
rename : config/autoconf.mk.in => js/src/config/autoconf.mk.in
rename : config/config.mk => js/src/config/config.mk
rename : config/elf-dynstr-gc.c => js/src/config/elf-dynstr-gc.c
rename : config/fastcwd.pl => js/src/config/fastcwd.pl
rename : config/gcc_hidden.h => js/src/config/gcc_hidden.h
rename : config/insure.mk => js/src/config/insure.mk
rename : nsprpub/config/make-system-wrappers.pl => js/src/config/make-system-wrappers.pl
rename : config/milestone.pl => js/src/config/milestone.pl
rename : config/milestone.txt => js/src/config/milestone.txt
rename : config/mkdepend/Makefile.in => js/src/config/mkdepend/Makefile.in
rename : config/mkdepend/cppsetup.c => js/src/config/mkdepend/cppsetup.c
rename : config/mkdepend/def.h => js/src/config/mkdepend/def.h
rename : config/mkdepend/ifparser.c => js/src/config/mkdepend/ifparser.c
rename : config/mkdepend/ifparser.h => js/src/config/mkdepend/ifparser.h
rename : config/mkdepend/imakemdep.h => js/src/config/mkdepend/imakemdep.h
rename : config/mkdepend/include.c => js/src/config/mkdepend/include.c
rename : config/mkdepend/main.c => js/src/config/mkdepend/main.c
rename : config/mkdepend/mkdepend.man => js/src/config/mkdepend/mkdepend.man
rename : config/mkdepend/parse.c => js/src/config/mkdepend/parse.c
rename : config/mkdepend/pr.c => js/src/config/mkdepend/pr.c
rename : config/nfspwd.pl => js/src/config/nfspwd.pl
rename : config/nsinstall.c => js/src/config/nsinstall.c
rename : config/nsinstall.py => js/src/config/nsinstall.py
rename : config/pathsub.c => js/src/config/pathsub.c
rename : config/pathsub.h => js/src/config/pathsub.h
rename : config/preprocessor.pl => js/src/config/preprocessor.pl
rename : config/revdepth-nt.pl => js/src/config/revdepth-nt.pl
rename : config/revdepth.pl => js/src/config/revdepth.pl
rename : config/rules.mk => js/src/config/rules.mk
rename : config/system-headers => js/src/config/system-headers
rename : config/version.mk => js/src/config/version.mk
rename : config/version_win.pl => js/src/config/version_win.pl
rename : configure.in => js/src/configure.in
2008-10-29 08:29:22 -07:00
Jim Blandy
f987b15c51 Bug 433083: Build SpiderMonkey stand-alone shell by default. r=ted. 2008-10-28 12:33:55 -07:00
Jason Orendorff
b7fb9bc849 Bug 460865 - Read barrier for cx->fp. r=mrbkap, r=dmandelin.
--HG--
extra : rebase_source : 19963188b2f9f96336ce6ca28dbaefccf3a639b7
2008-12-09 10:38:32 -06:00
Jason Orendorff
a27d101dab Bug 458735 - Improve internal API for traceable natives (r=brendan, nanojit r=edwsmith) 2008-10-08 17:08:33 -05:00
Robert Sayre
c59514f66e Bug 408838 - DOM binding for native JSON. r+sr=shaver 2008-10-01 02:13:58 -04:00
Andreas Gal
a7a4b8be7b Backed out changeset c5d4e22e54ad (reopened 456201). 2008-09-25 07:58:56 -07:00
Andreas Gal
9b1f70d488 Compile jsregexp.cpp with -O9 and -fomit-frame-pointer (456201, r=shaver). 2008-09-24 17:44:25 -07:00
Ginn Chen
7e5c865f31 Bug 452588 bustage on Solaris 2008-09-11 20:12:55 +08:00
Blake Kaplan
88856d9ef1 Merge tracemonkey -> mozilla-central 2008-09-09 23:38:21 -07:00
Vladimir Vukicevic
7c80853b9f Enable tracemonkey/nanojit for ARM. 2008-09-06 01:19:29 -07:00
Ginn Chen
2763e5d63e Make TraceMonkey build on Solaris x86 with Sun Studio 12 (bug 452588, r=danderson). 2008-09-05 16:56:03 -07:00
Ginn Chen
a3f5be56ad Added new macro AVMPLUS_UNIX to reduce redundancy and add Solaris support to the TM browser build (bug 452589, r=dvander). 2008-09-05 15:15:00 -07:00
Jim Blandy
90bf6a2d1e Bug 97954: Give jsconfig.h a better name, and make room for the new js-config.h. r=bsmedberg
We'd like the SpiderMonkey configure script to generate a header file
named js-config.h to hold #definitions chosen at configure time that
affect the SpiderMonkey API, like JS_THREADSAFE.  However, that name
is very similar to that of an existing header file, jsconfig.h.  This
patch renames the existing header file, and updates all references to
it.

--HG--
rename : js/src/jsconfig.h => js/src/jsversion.h
2008-09-05 10:19:17 -07:00