Commit Graph

3820 Commits

Author SHA1 Message Date
Andreas Gal
0d6e29aa6c Scale down regexp native code cache to 1MB and delete cache on shutdown (r=danderson). 2008-11-04 19:11:23 -08:00
Ben Turner
c16fd87aa3 Backed out changeset 4fc7c6f6f45e 2008-11-04 18:58:24 -08:00
Ben Turner
a3da8488d8 Bug 460811 - "Bring workers up to latest spec". r+sr=jst. 2008-11-04 18:01:05 -08:00
David Anderson
5ee0ea8b50 Fix using wrong regalloc helper in asm_ld peephole opt (r=rreitmai). 2008-11-04 16:52:25 -08:00
David Anderson
16b6dd740c Peephole optimize various LIR load patterns for x86 addressing (bug 444682, r=gal). 2008-11-04 16:34:13 -08:00
Graydon Hoare
6901121f8d Fix MSVC sensitivity to symbols called 'far' 2008-11-04 16:28:05 -08:00
David Mandelin
f96c978165 Fixing regexp compiler nanojit spew to conform with TM 2008-11-04 16:10:38 -08:00
David Mandelin
c761727be4 Adding JS_TRACER guards to regexp compiler for ppc builds & other non-tracing 2008-11-04 16:03:57 -08:00
David Mandelin
19ac0a15e0 Adding cast to make MSVC happy 2008-11-04 15:49:48 -08:00
Robert O'Callahan
cca234e798 Back out changeset b83d3c8ac166 (bug 460811) to try to fix bustage 2008-11-05 12:47:52 +13:00
Robert O'Callahan
01ff4e2538 Backing out changeset dc1aff36a411 (bug 462389) to try to fix bustage 2008-11-05 12:36:19 +13:00
David Mandelin
dca6d46eec Fixing Linux breakage, stupid jump crosses initialization errors 2008-11-04 15:21:23 -08:00
David Mandelin
d245bf6acb Fixing OSX build, seems related to namespace trickery 2008-11-04 15:17:51 -08:00
Andreas Gal
b8168d74d9 Merge. 2008-11-04 15:08:24 -08:00
Andreas Gal
cdec6ab0a7 Interpreter directly emits the this object found in the property cache for JSOP_CALLNAME, so do the same in the tracer (462989, r=mrbkap). 2008-11-04 15:07:38 -08:00
David Mandelin
c92c2000cc Bug 461050 WIP: compiling simple regexps, r=danderson,agal 2008-11-04 14:51:51 -08:00
Graydon Hoare
9198f045ad Bug 462228 - Add interface to disconnect and reconnect loops in nanojit, r=gal. 2008-11-04 14:20:19 -08:00
Graydon Hoare
5cfd909934 Bug 462228 - Merge code-patching functions in nanojit, r=rreitmai. 2008-11-04 14:18:17 -08:00
Peter Van der Beken
146cbb323b Bug 462926 - 'Crash [@ xpc_qsSelfRef::~xpc_qsSelfRef] with getUserData.call'. r+sr=jst. 2008-11-04 13:50:50 -08:00
Ben Newman
7f61ea749a Bug 462389 - 'XPCVariant used in nsXPCException::SetThrownJSVal can cause cycle collection on non-main threads'. r=bent, sr=jst.
--HG--
rename : dom/src/threads/nsAutoJSObjectHolder.h => js/src/xpconnect/public/nsAutoJSValHolder.h
2008-11-04 13:49:05 -08:00
Ben Turner
718025a3f8 Bug 460811 - 'Bring workers up to latest spec'.r+sr=jst 2008-11-04 13:49:04 -08:00
Peter Van der Beken
fbe83f43ff Backed out changeset 47c0377779bb to fix orange 2008-11-04 20:56:16 +01:00
Peter Van der Beken
f4f6bc2300 Backed out changeset 47c0377779bb to fix orange 2008-11-04 20:55:48 +01:00
Peter Van der Beken
3bb228a9e8 Backed out changeset 81c0a2ec449f to fix orange 2008-11-04 20:54:50 +01:00
Peter Van der Beken
5a6c152342 Backed out changeset 81c0a2ec449f to fix orange 2008-11-04 20:54:08 +01:00
Benjamin Smedberg
6cd85a8589 Bug 462740 - Building spidermonkey on Windows with -j3 fails: conflicts in PDB files. Related to bug 382297 and bug 286179, where we flip-flop back and forth about this. Document the way things should actually be! 2008-11-04 14:38:40 -05:00
Peter Van der Beken
eac8c19c52 Fix for bug 462926 (Crash [@ xpc_qsSelfRef::~xpc_qsSelfRef] with getUserData.call). r/sr=jst 2008-11-04 18:18:12 +01:00
Peter Van der Beken
24a73db424 Fix for bug 457022 (Cache DOM wrappers in the DOM object). r/sr=jst. 2008-11-04 18:10:43 +01:00
Robert Sayre
03d49a666b Merge mozilla-central to tracemonkey. 2008-11-04 02:05:05 -05:00
David Anderson
158e7f3bb0 Don't cache pointer to recorder since it might change in js_MonitorRecording (462980, r=gal). 2008-11-03 20:57:50 -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
David Anderson
db369008ec Fixed memory leak in LInsHashSet (bug 462826, r=gal). 2008-11-03 19:43:47 -08:00
David Mandelin
d0a8376658 Bug 462412: API to delete a single fragment, r=danderson 2008-11-03 16:14:44 -08:00
David Anderson
2be8898675 Merge. 2008-11-03 16:11:36 -08:00
David Anderson
65f7adbd31 Fixed OOM handling when starting a recorder or assembler (bug 451322, r=gal+rreitmai). 2008-11-03 16:10:20 -08:00
Blake Kaplan
dab238daea Bug 462910 - Add a JS_ValueToSource API. r=brendan 2008-11-03 14:28:36 -08:00
Brendan Eich
94ae1a5b36 Bug 462879 - "Assertion failure: UPVAR_FRAME_SKIP(uva->vector[i]) == 1" with nested eval (r=mrbkap). 2008-11-03 13:55:51 -08:00
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
Brendan Eich
b038cc78c9 Bug 456692 - "Assertion failure: slot < fp2->script->nslots" with nested eval (r=mrbkap). 2008-11-02 01:13:45 -07:00
David Mandelin
f8d1b7798b Preserve param1 over loop iters if it is used, desk r=danderson 2008-10-31 16:48:14 -07:00
Jason Orendorff
2c9b2dd1b4 Fix build breakage --with-static-checking. No bug#. 2008-10-31 11:54:48 -07:00
Andreas Gal
37b4dbe474 Don't manipulate stack during cpuid detection (fix for icc, r=danderson). 2008-10-30 17:56:27 -07:00
Andreas Gal
3a1c5becb7 Merge. 2008-10-30 17:47:55 -07:00
Andreas Gal
2a666c87e8 Emit JSOP_APPLY for .call(...) (462445, r=brendan). 2008-10-30 16:01:53 -07:00
David Anderson
00bfbb7d80 Make sure double slots are marked as undemotable when stabilizing a tree with failed speculation (bug 462407, r=gal). 2008-10-30 15:54:22 -07:00
Andreas Gal
2e3beeb970 Resolve atom/str naming conflicts in the source for narcissus, make narcissus extensions compile again (462436, r=brendan). 2008-10-30 15:38:10 -07:00
Andreas Gal
f5d2244679 Merge. 2008-10-30 14:18:06 -07:00
Andreas Gal
4eafb60801 Add 16-bit non-volatile loads to nanojit (454301, r=danderson). 2008-10-30 14:17:42 -07:00
David Anderson
48b976a104 Don't coerce void to string when compiling inner tree calls (bug 462388, r=gal). 2008-10-30 13:48:22 -07:00
Andreas Gal
047344b36b Merge. 2008-10-30 12:32:08 -07:00
Andreas Gal
0cc2b0cfdf Fixed assert (fallout from 462265). 2008-10-30 12:31:39 -07:00
David Anderson
9763f21aae Added multitrees test to trace-tests.js for bug 456479. 2008-10-30 11:52:48 -07:00
David Anderson
2f8b8195c3 Added multitrees test to trace-tests.js for bug 454315. 2008-10-30 11:42:12 -07:00
David Anderson
1f8d249207 Fixed not tracking linked peers as dependencies (bug 462282, r=gal). 2008-10-30 11:29:25 -07:00
Andreas Gal
948aa93d60 Perform Function.apply in the interpreter loop bypassing js_Invoke (462265, r=brendan). 2008-10-29 23:59:19 -07:00
Andreas Gal
b037831bd9 Merge. 2008-10-29 22:50:43 -07:00
Andreas Gal
fe13c87572 Fix missing JSOP_APPLY case in an assert and a condition (462292, r=brendan). 2008-10-29 22:46:56 -07:00
Boris Zbarsky
d1afdda41f Bug 462184. Make INCLUDE_VERBOSE_OUTPUT actually work, and rename it to JS_JIT_SPEW. r=brendan 2008-10-29 21:56:35 -07:00
David Anderson
685543cd89 Mark any double slot in an unstable exit as undemotable (bug 462071, r=gal). 2008-10-29 17:57:14 -07:00
Brendan Eich
1f02db1e77 ug 460870 - Round-trip change with RHS of || (r=jorendorff). 2008-10-29 17:37:12 -07:00
David Anderson
7247e3ffe4 Fixed trees stabilizing from the wrong peer fragment (bug 462240, r=gal). 2008-10-29 16:12:16 -07:00
David Anderson
7a4b84aa29 Bump XDR version, followup from changeset bd981b7737da (r=gal). 2008-10-29 15:36:30 -07:00
Andreas Gal
4548b3e585 Remove JSOP_UNUSED78 as 78 is now JSOP_APPLY (follow-up for 462209). 2008-10-29 13:43:53 -07:00
Andreas Gal
a0b3296770 Merge. 2008-10-29 13:31:07 -07:00
Andreas Gal
868e7934a2 Emit JSOP_APPLY for .apply(...) similar to JSOP_EVAL for .eval(...) (462209, r=brendan). 2008-10-29 13:30:41 -07:00
Graydon Hoare
f5f48d7fac Bug 461801 - Followup correctness fix. r=brendan. 2008-10-29 13:20:34 -07:00
Jason Orendorff
8a27d784a7 Bug 461233 - Incorrect decompilation of ({0: (4, <></>) }). r=brendan. 2008-10-29 11:36:08 -07:00
Graydon Hoare
a9b37c59c0 Bug 461801 - Bind containing function to eval script, so upvars work in decompiler. r=brendan 2008-10-29 11:25:36 -07:00
Brendan Eich
2dfbe828cf Prune deadwood missed in commit for bug 462103. 2008-10-29 00:19:06 -07:00
Brendan Eich
6ddc16bbe2 Bug 462103 - TM: We don't trace some variants of string + other type (gal+brendan red-headed stepchild). 2008-10-29 00:14:30 -07:00
Andreas Gal
7b8859883f Merge. 2008-10-28 22:41:05 -07: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
Andreas Gal
7da6b31283 Handle dslots == NULL case when reading past the actual length of an array (461974, r=danderson). 2008-10-28 22:40:10 -07:00
Brendan Eich
8c2eead6a8 Keep testGlobalProtoAccess last. 2008-10-28 17:34:09 -07:00
David Anderson
55c302718d Fixed false-positive integer demotions on non-number types (bug 461945, r=gal) 2008-10-28 16:33:01 -07:00
Andreas Gal
25404443ff GC no longer flushes the JIT cache. Instead just make sure the shape of the global object will mismatch next time we try to record or execute code, which in turn will force a flush of the code cache (458288, r=brendan/danderson). 2008-10-28 16:22:08 -07:00
Brendan Eich
bad1b50498 Re-land patch for bug 458851 now that latent bug it uncovered (not filed; see hg log) is fixed. 2008-10-28 14:04:29 -07:00
David Anderson
06ec3d4965 Merge. 2008-10-28 14:00:27 -07:00
Brendan Eich
e95f449f88 Fix tracing apply with wrong arguments (no bug, r=gal+dvander). 2008-10-28 13:58:20 -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