Commit Graph

3687 Commits

Author SHA1 Message Date
Benjamin Smedberg
7954d6ff25 Bug 462730 - Parallel builds with -j20 don't build the submakefiles before recursing into them. Switch back to using $* in the rule because we found out the make 3.80 bug: it doesn't set $* in double-colon rules, but it does in single-colon rules. r=ted (copy rules.mk to the JS build system) 2008-11-03 14:30:05 -05:00
Peter Van der Beken
2b8cf3c2d4 Backed out changeset ba895ab8cbe7 to fix orange 2008-11-03 16:28:50 +01:00
Peter Van der Beken
28ba94cca8 Fix for bug 457022 (Cache DOM wrappers in the DOM object). r/sr=jst. 2008-11-03 14:49:53 +01:00
ause<ause@sun.com>
0fd9e68163 Bug 462516 - add -isysroot to find fat version of system libraries 2008-11-03 13:05:30 +01:00
Peter Van der Beken
e743beb9c4 Fix for bug 457897 (Remove QI on 'this' object when calling from JS to C++). Patch by jorendorff and me, r/sr=jst. 2008-11-03 11:31:47 +01:00
Jim Blandy
e9a790f333 Bug 462356 - Build fails on mac in js/src/configure.in with error: Library requirements (glib-2.0 >= 1.3.7 gobject-2.0) not met; glib part; r=ted.mielczarek 2008-11-02 18:40:57 +01:00
Jim Blandy
75ebba4f18 Bug 462356 - Build fails on mac in js/src/configure.in with error: Library requirements (glib-2.0 >= 1.3.7 gobject-2.0) not met; elf-dynstr-gc part; r=ted.mielczarek 2008-11-02 18:39:54 +01:00
Brendan Eich
9eb3ee8b6a Bug 456692 - "Assertion failure: slot < fp2->script->nslots" with nested eval (r=mrbkap). 2008-11-02 01:15:06 -07:00
timeless@mozdev.org
b93635a72f Bug 454561 TM: Crash when JavaScript-Debugger is enabled [ @ jsd_lock ]
js_SynthesizeFrame needs to fill in all fields of JSInlineFrame.
r=brendan
2008-10-29 11:06:01 +01:00
Benjamin Smedberg
2ba4044e4b Bug 462440 - Creating directories is really racy, and has an rm -rf in the middle of the race, r=ted
Adding the other part to js/src/config like we had to do earlier today to fix windows orange.
2008-10-30 21:39:37 -04:00
Bob Clary
82ae2e6dbb bug 462435 - JavaScript Tests - update tests 2008-10-30 15:17:35 -07:00
Doug Turner
dfcd6ade60 merge to tip 2008-10-30 14:43:10 -07:00
Doug Turner
e5a3cd9352 Bug 462215 - javascript autoconf busted on windows mobile. r=ted 2008-10-30 14:41:21 -07:00
Mark Banner
dca5e94716 TUnit bustage fix from follow up to bug 461395 - fix a bug in make 3.80 by avoiding in pattern rules with explicit targets and keep mozilla/config and mozilla/js/src/config in sync. r=ted over irc 2008-10-30 21:28:21 +00:00
Ted Mielczarek
26dab6f284 bug 461395 - add support for PARALLEL_DIRS to build system, parallelize content. r=bsmedberg 2008-10-30 13:02:14 -04:00
Andreas Gal
4eca106b8a Handle dslots == NULL case when reading past the actual length of an array (461974, r=danderson). 2008-10-28 22:40:10 -07:00
Jim Blandy
0704b2cc96 (fix tree burn; no bug): The js/src subtree needs its own copy of pgomerge.py.
--HG--
rename : build/win32/pgomerge.py => js/src/build/win32/pgomerge.py
2008-10-29 15:26:11 -07:00
Jim Blandy
11426062d7 Fix Win32 burn: js/src/config/autoconf.mk shouldn't override MOZ_MEMORY-related LIB and PATH exported from top-level config/autoconf.mk 2008-10-29 11:30:36 -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
c18332dabc Bug 97954: Delete SpiderMonkey's custom build system for separate builds. r=bsmedberg
SpiderMonkey has, at present, two separate build systems: one used for
in-tree builds, and one used for SpiderMonkey-only builds.

The former is constituted entirely by js/src/Makefile.in.  This is a
typical Mozilla makefile, leaning on the top-level config/*.mk files
for most of the details.

The latter is comprised by a shadow build system, all in js/src:
Makefile.ref, config.mk, rules.mk, jsconfig.mk, and config/*.mk.
These are superseded by the separate build system implemented in a
later patch; we delete them all here.

This patch consists entirely of deletions; there are no textual changes.
2008-10-29 08:29:04 -07:00
Jason Orendorff
3cb0a50bfa Fix red on mozilla-central because js.cpp doesn't build on Windows. No bug#. 2008-10-28 13:07:45 -07:00
Jim Blandy
f987b15c51 Bug 433083: Build SpiderMonkey stand-alone shell by default. r=ted. 2008-10-28 12:33:55 -07:00
Blake Kaplan
cd649335ba Merge mozilla-central -> tracemonkey 2008-10-27 17:19:21 -07:00
Jason Orendorff
154b1955c7 Bug 456384 - TM: v8-richards.js benchmark opens a print dialog in browser with JIT enabled. r=brendan 2008-10-27 16:15:32 -07:00
Jason Orendorff
a6d3afc9a5 Fix build breakage from 70955fd0d1ee on platforms without JS_TRACER. No bug#. 2008-10-25 09:36:58 -05:00
Jason Orendorff
9e09c98842 Bug 461549 - Traceable print and shapeOf functions for js shell. r=mrbkap. 2008-10-25 09:01:51 -05:00
David Anderson
b2a6f01baa Fixed trace-tests for isPromoteInt patch which reduced tree recompilation counts. 2008-10-25 03:35:07 -05:00
Andreas Gal
ba12fe7023 Merge. 2008-10-25 01:04:47 -07:00
Andreas Gal
df30935a17 guardDenseArray and guardDenseArrayIndex must guard on the actual outcome, since we don't always abort trace if its not a dense array (461611, r=me). 2008-10-25 01:03:38 -07:00
David Anderson
e33e23e267 Fixed false positive demotions due to missing isPromoteInt (bug 461612, r=gal). 2008-10-25 01:50:38 -05:00
Andreas Gal
06b393e8a2 Trace reading from dense arrays out of bounds and trace undefined -> number conversion in binary ops (461611, r=brendan). 2008-10-24 21:51:04 -07:00
Blake Kaplan
a812183893 Bug 455971 - Clear Function and Object (and any other properties) off of the outer object so that Function always refers to the inner window's function. This ensures that the implict Function and explicit window.Function forms refer to the same object. r+sr=brendan
--HG--
extra : transplant_source : %83%9C%81E%A3%95%A5%1D%5DzO%13%85%9B%9A0v%21i%E0
2008-10-24 16:53:37 -07:00
David Anderson
6ebb53e98e Fixed branch demotions using the branch PC rather than the root PC, causing infinite records (bug 455547, r=gal). 2008-10-24 14:01:17 -07:00
Brendan Eich
fcca844194 Bug 461248 - Remove JSOP_RESUME (r=gal/jorendorff). 2008-10-24 12:34:08 -07:00
David Anderson
f8fb76a697 Disabled x64 JIT in shell until the port is cleaned up from nj2. 2008-10-24 11:02:37 -07:00
Jason Orendorff
764431fd80 Bug 461111 - Extra parens in decompilation of "if(a, b)". r=brendan. 2008-10-24 12:52:52 -05:00
Jason Orendorff
90796fca26 Bug 461492 - TM: INT32 can't be used as return type for traceable native that actually returns an int. r=gal. 2008-10-24 12:49:54 -05:00
David Anderson
590d3d2443 Fixed crash from JIT cache flushes when js_Interpret was holding TraceRecorders (bug 458288, r=brendan). 2008-10-24 10:47:59 -07:00
Aristid Breitkreuz
661d3c51b2 Bug 461163 - No public API for OBJ_GET_PROPERTY or the JavaScript [] operator (and similar functions). r=brendan. 2008-10-24 12:09:09 -05:00
Gavin Sharp
055bd5e6e2 Back out patch for bug 450633 2008-10-25 17:10:34 -04:00
Blake Kaplan
0aefd37c4a Bug 455971 - Clear Function and Object (and any other properties) off of the outer object so that Function always refers to the inner window's function. This ensures that the implict Function and explicit window.Function forms refer to the same object. r+sr=brendan 2008-10-24 16:53:37 -07:00
Andreas Gal
9701440e6d Merge. 2008-10-23 14:49:25 -07:00
Andreas Gal
c867e60dfc Merge. 2008-10-23 14:47:00 -07:00
Jason Orendorff
01acd787a0 Eliminate warning about ignored visibility attribute on js_CloseIterator when compiling jsbuiltins.cpp. No bug#. r=brendan. 2008-10-23 16:38:58 -05:00
Jason Orendorff
7336afcbbd Fix blatant bugs in jsbuiltins.h. No bug#. r=dvander. 2008-10-23 15:39:35 -05:00
Brendan Eich
1772bc4d6f Bug 461307 - Crash [@ QuoteString] with for(/x/[''] in []) (r=mrbkap). 2008-10-23 11:37:07 -07:00
Andreas Gal
23f283c78e Merge. 2008-10-22 22:30:37 -07:00
Andreas Gal
19ed8b2e9c Only track and look up LOOP_EXIT side exits in the tree info (r=danderson). 2008-10-22 22:29:51 -07:00