Commit Graph

3196 Commits

Author SHA1 Message Date
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
Jim Blandy
f987b15c51 Bug 433083: Build SpiderMonkey stand-alone shell by default. r=ted. 2008-10-28 12:33:55 -07:00
Jason Orendorff
5258c4d288 Bug 461723 - TM: "Assertion failure: (m != JSVAL_INT) || isInt32(*vp)" with "(0 + void 0) && 0". r=gal. 2008-10-28 11:52:38 -07:00
Jason Orendorff
07dacf6822 Merge backout of d4fe79372140. 2008-10-28 10:49:38 -07:00
Jason Orendorff
37724bb378 Backed out changeset d4fe79372140 (bug 458851) due to persistent orange on TraceMonkey tinderboxes. 2008-10-28 10:49:06 -07:00
Brendan Eich
d0d72f5cbc Keep this test last, and clean up prototype pollution, plus test for bug 458851. 2008-10-28 00:11:26 -07:00
Brendan Eich
51f987553a Bug 458851 - TM: for-in loops skip every other value in certain cases (r=gal/mrbkap). 2008-10-27 22:30:52 -07:00
David Anderson
bf1a78f4fe Implemented multiple type specialized trees per entry point (bug 450833, r=gal) 2008-10-27 20:42:49 -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
Rob Arnold
6e2f659fac Fix memory leak in LInsHashSet::grow - bug 461069 r=danderson 2008-10-22 23:07:37 -04:00
Andreas Gal
57cf783a3b Make sure we set remaining fslots to void in FastNewDate (459628, r=brendan). 2008-10-22 19:19:07 -07:00
Andreas Gal
e68f86bd08 Merge. 2008-10-22 19:09:03 -07:00
Andreas Gal
5b7d8ddbe0 Backed out changeset 82f5fed6d91a (Linux GCC doesn't seem to like clobbering ebx in inline assembly). 2008-10-22 19:08:28 -07:00
Andreas Gal
ba66d9d48c Added test-case for 459630 (WFM) to make sure we don't regress it down the road. 2008-10-22 19:06:18 -07:00
Andreas Gal
04b27d4cf3 Avoid pusha/popa inside assembly (icc crashes) when checking for SSE2 using cpuid (461280, r=danderson). 2008-10-22 18:55:54 -07:00
Andreas Gal
ffe407c883 Backed out changeset 91277d409f44 (accidentally also touched Makefile.ref and config/Darwin.mk) 2008-10-22 18:46:41 -07:00
Andreas Gal
3b66906c5d Enable JIT by default for content (r=danderson). 2008-10-22 18:21:51 -07:00
Andreas Gal
5cc94e1d59 Re-use loop exit side exit if we already have one for that PC location and the same type map (461076, r=danderson). 2008-10-22 16:27:25 -07:00
Andreas Gal
e2a6acb46a Use LIR_loop for loop edge to avoid going into a side exit handler at every loop edge (461231, r=danderson). 2008-10-22 16:00:08 -07:00
Brendan Eich
e0a0cfe21f Bug 461235 - "Assertion failure: pos == GET_UINT16(pc)" decompiling function with array comprehension (r=mrbkap). 2008-10-22 15:47:52 -07:00
Jim Blandy
48c4b8be4b Bug 461192: Rename fd_copysign to js_copysign. r=jorendorff
Since we're no longer using fdlibm, it doesn't make sense to use
fd_copysign as the name of SpiderMonkey's appropriately chosen version
of copysign.  js_copysign seems more appropriate.
2008-10-22 14:52:14 -07:00
Jim Blandy
aff447bc08 Bug 461192: Drop fd_ prefix from math functions. r=jorendorff
The Mozilla tree used to optionally use its own math library, fdlibm.
For each standard math function FOO, fdlibm defined its own version
named fd_FOO.  The SpiderMonkey sources called the fd_FOO functions
directly.  In configurations where fdlibm was not used, jslibmath.h
#defined fd_FOO to expand to FOO, resulting in references to the
standard math library's functions.

Now that fdlibm is not used, even optionally, those fd_ prefixes are
unnecessary.  However, some code is still needed to choose the right
copysign function, so jslibmath.h still has a reason to exist.
2008-10-22 14:52:14 -07:00
Jim Blandy
cf8c925b8f Bug 461192: Remove references to JS_USE_FDLIBM_MATH from js/src/jsmath.cpp. r=jorendorff
The Mozilla tree no longer uses fdlibm, so these adaptor macros are no
longer necessary.
2008-10-22 14:52:14 -07:00
Graydon Hoare
95bed8b2ed Bug 461205 - make callee-save LIR_param use optional. r=gal,edwsmith 2008-10-22 14:32:37 -07:00
Blake Kaplan
2d412e5217 Bug 453310 - Reparameterize GetNewOrUsed and move some work around. r+sr=brendan 2008-10-22 13:19:08 -07:00
Blake Kaplan
5adf556d30 Bug 396851 - Check to see if we're UniversalXPConnect-enabled to allow privileged web pages to unwrap XOWs. r+sr=bzbarsky 2008-10-22 13:15:22 -07:00
Brendan Eich
5c85747b5c Bug 441479 - for-in loops should use one backward branch (with downward goto on entry; r=mrbkap). 2008-10-22 12:47:51 -07:00
Jason Orendorff
88e0a669e0 Bug 461110 - Extra parens in decompilation of "a += b = 3". r=brendan. 2008-10-22 14:26:49 -05:00
Jason Orendorff
da34f1f2e5 Bug 461108 - Decompiler emits extra parens around assignment in "for(;;)" condition. r=brendan. 2008-10-22 14:06:16 -05:00
Vladimir Vukicevic
0a60bbe04b [arm] fix build after SideExit sharing patch 2008-10-22 11:11:51 -07:00
Vladimir Vukicevic
efb82ea705 [arm] correctly have chk version of LD underrunProtect 2008-10-22 11:02:24 -07:00
Vladimir Vukicevic
d2f0736eb6 [arm] misc codegen fix 2008-10-22 11:02:24 -07:00
Vladimir Vukicevic
57b6c8d721 [arm] Use real B/BX instead of BL for side exit jumps; no need to update lr 2008-10-22 11:02:24 -07:00
Vladimir Vukicevic
9ae67df93c [arm] Get rid of CALL, just use BL directly 2008-10-22 11:02:24 -07:00
Vladimir Vukicevic
844190ed5d [arm] Get correct value in return reg after fragment exit 2008-10-22 11:02:24 -07:00
Vladimir Vukicevic
eb73398c11 [arm] Enable VFP 2008-10-22 11:02:24 -07:00
Peter Van der Beken
0261cd68b1 Fix for bug 459828 (Remove nsIDOMCustomEvent.idl). r=smaug, sr=sicking. 2008-10-22 15:35:34 +02:00
Peter Van der Beken
601505a0e8 Fix for bug 459830 (Remove unused quickstubs). r=jorendorff. 2008-10-22 15:08:56 +02:00
Peter Van der Beken
ddd2023646 Fix for bug 460940 (Dependency problem when removing an interface from dom_quickstubs.qsconf). r=ted. 2008-10-22 15:07:20 +02:00
Andreas Gal
74418814c5 Merge. 2008-10-21 17:52:37 -07:00
Andreas Gal
b14d526b66 Merge. 2008-10-21 17:50:52 -07:00
Andreas Gal
ec7efc925c Remove code to unlink trees to reduce the size of GuardRecord. Allow GuardRecords to share one common SideExit structure. The VM places both explicitly into the LIR (460538, r=danderson). 2008-10-21 17:50:32 -07:00
Jason Orendorff
68a5dcca96 Bug 460157 - Yet more macros for defining builtins. r=brendan 2008-10-21 17:58:06 -05:00
Blake Kaplan
e36fb599bc Bug 460886 - Substring needs to validate its arguments. r=brendan
--HG--
extra : rebase_source : 24d0131da47e8fb30cb420330bdb92189436aea7
2008-10-21 15:21:23 -07:00
Jason Orendorff
e1877796ba Bug 460501 - Round-trip change due to "&&" constant-folding leaving extra parens. r=brendan. 2008-10-21 13:35:22 -05:00
Jason Orendorff
121e528b9f Bug 460117 - TM: Inconsistent results from hasOwnProperty with JIT enabled. r=brendan. 2008-10-21 13:19:22 -05:00
Peter Van der Beken
993024875b Backed out changeset 4bc3dc1f6e11 2008-10-21 11:43:01 +02:00
Peter Van der Beken
3ba81f6270 Fix for bug 459828 (Remove nsIDOMCustomEvent.idl). r=smaug, sr=sicking. 2008-10-21 11:10:47 +02:00
Vladimir Vukicevic
89d7a76a6b [arm] Use correct register for return value; also don't bother saving full set of callee-saved registers using PUSH, they'll be saved individually 2008-10-20 17:20:05 -07:00
Vladimir Vukicevic
af0b642859 More ARM fixes; initialize free reg list correctly initially. Also use LastReg+1 instead of NJ_MAX_REGISTERS in RegAlloc -- LastReg+1 is what's used in the .h file, to avoid any mismatches. 2008-10-20 15:31:28 -07:00
Jason Orendorff
d922cb412a Bug 460495 - TM: builtins js_Any_getelem, js_Any_setelem should take int32. r=gal. 2008-10-20 14:20:22 -05:00
Vladimir Vukicevic
3164784c33 Make ARM nanojit compile again (doesn't run) 2008-10-20 11:18:30 -07:00
Edwin Smith
d238c8bb21 remove dead refs to non-existant class RegionTracker 2008-10-20 10:15:07 -07:00
Rick Reitmaier
2cc651e33b refactor Assembler.cpp ; passing acceptance on mac 2008-10-20 10:15:07 -07:00
Edwin Smith
9ce451ef43 fix linux compile errors 2008-10-20 10:15:07 -07:00
Edwin Smith
1896977ce5 fixes to enable ARM nanojit to build, at least 2008-10-20 10:15:07 -07:00
Blake Kaplan
3dc5f277d1 Bug 460452 - NaN is a boolish false. Also constant fold booleans next to operator NOT. r=brendan 2008-10-17 18:59:05 -07:00
David Mandelin
b81d96a696 Taking change from tamarin-redux needed to allow LIR forward branches 2008-10-17 18:01:19 -07:00
Robert Sayre
dfdc67476d Bug 460333. Implement toJSON for primitive wrapper classes. r=crowder 2008-10-17 14:57:34 -04:00
Graydon Hoare
da90de1d13 Bug 458431 : residual typo-fix on previous Math.max fix that went in with 457786 2008-10-16 13:29:02 -07:00
Jason Orendorff
e0b7bce037 Bug 459266 - TM: Allow CALLINFO macros to specify linkage. r=brendan. 2008-10-16 14:24:10 -05:00
Andreas Gal
b99d012978 Merge. 2008-10-16 11:36:13 -07:00
Andreas Gal
6ee6a4f801 Merge. 2008-10-15 23:23:21 -07:00
Robert Sayre
c79f329ed4 Bug 459293. Sites not loading - redeclaration const JSON error on console. r=brendan 2008-10-16 01:20:57 -04:00
Blake Kaplan
6b45aae2e5 Bug 460180 - Always reload pn1 since it is null if we found the end of the list. r=brendan 2008-10-15 21:35:18 -07:00
Brendan Eich
674f60c760 Final patch (I pray) for 460116 (r=jorendorff). 2008-10-15 17:39:29 -07:00
Brendan Eich
bb4b3198b6 Back out material change for bug 460116. 2008-10-15 16:10:30 -07:00
Andreas Gal
4a1d9b9ddf Merge. 2008-10-15 15:55:04 -07:00
Brendan Eich
85afb14a56 Bug 460116 - buggy inCond propagation in js_FoldConstants (r=jorendorff). 2008-10-15 14:02:33 -07:00
Jason Orendorff
f8a75808ed Bug 459446 - Trace JSOP_POPV. r=brendan. 2008-10-15 15:22:05 -05:00
Brendan Eich
e9e2bb73a3 Followup to patch for bug 459990 to use JS_HAS_GENERATOR_EXPRS #if'ing. 2008-10-15 12:58:05 -07:00
Brendan Eich
0c1f23de9c Bug 459990 - Crash [@ js_FoldConstants] (r=jorendorff). 2008-10-15 12:18:05 -07:00
Jason Orendorff
fac2df33c9 Fix build breakage from change ee94be502791 (C++ error: jump across initialization) 2008-10-15 13:09:10 -05:00
Brendan Eich
4c2d686321 Fix typo. 2008-10-14 16:27:16 -07:00
Brendan Eich
0d6dd5842d Bug 443074 - Incorrect decompilation (missing parens) with genexp in for-loop-condition (r=jorendorff). 2008-10-14 16:13:56 -07:00
Brian Crowder
552f67b08c Backed out changeset 82af7163534f
(Bug 411726 -- Time offset and zone code are set wrong for some locales, r=mrbkap)
2008-10-14 16:48:40 -04:30
Brian Crowder
da1b1b708b Bug 411726 -- Time offset and zone code are set wrong for some locales, r=mrbkap 2008-10-14 16:29:16 -04:30
Brian Crowder
9267725c77 Bug 453915 -- XML namespace escaping improvement, r=igor 2008-10-14 16:29:05 -04:30
Andreas Gal
073cf83fb4 Fix the build breakage caused by the build breakage fix in d1e6c29797a9. No bug. 2008-10-14 11:02:53 -07:00
Jason Orendorff
5f19775ade Fix build breakage caused by trivial type mismatch in 3b894cc33338. No bug. 2008-10-14 10:50:31 -05:00
Igor Bukanov
59702db0da Bug 459656 - Implementing nsIThreadJSContextStack in nsXPConnect. r+sr=mrbkap 2008-10-14 16:16:25 +02:00
Andreas Gal
ea1d9c5edc Allow a single level of self-calling until we have support for recursion (459775, r=brendan). 2008-10-13 23:20:39 -07:00
Andreas Gal
b4ee05c105 Trace Number.toString(base), not just Number.toString() (459772, r=brendan). 2008-10-13 19:07:30 -07:00
Andreas Gal
9e0dd2347d Merge. 2008-10-13 17:40:26 -07:00
Andreas Gal
945ed5d0fe Add a builtin for RegExp.test (459766, r=mrbkap). 2008-10-13 17:39:36 -07:00
Jason Orendorff
c3dbc177e0 Bug 459738 - Makefile.ref: js{builtins,interp}.cpp are compiled without -MMD. r=mrbkap. 2008-10-13 18:02:48 -05:00
Blake Kaplan
d9dc5056dc Bug 455633 - Protect against the weird Sandbox global object case when creating XPCNativeWrappers. r+sr=bzbarsky 2008-10-13 15:55:38 -07:00
Blake Kaplan
76e8be0e68 Bug 457310 - Don't potentially run code with an exception still on cx. r+sr=jst 2008-10-13 15:53:33 -07:00
Blake Kaplan
197604d43a Bug 459606 - Restore long-standing mozilla change to return a non-empty string for the no_digits case. r=crowder 2008-10-13 15:47:36 -07:00
Andreas Gal
fbd46b3d96 Add back t/crypto-sha1.js, which magically disappeared at the hands of the nanojit2 patch. 2008-10-13 14:15:23 -07:00
Graydon Hoare
bf84bf6273 Merge tamarin-redux (nanojit2) into tracemonkey (457786, r=edwsmith,gal,danderson). 2008-10-13 13:29:18 -07:00
Andreas Gal
32fb8c040d Merge. 2008-10-13 13:22:50 -07:00
Andreas Gal
525decaff0 Fix number of expected traces for testNestedExitStackOuter in trace-tests.js 2008-10-13 13:19:37 -07:00
Blake Kaplan
973ba75c26 Re-re-re-merge 2008-10-13 13:10:33 -07:00
David Anderson
55ee8061f8 Return innermost guard from js_ExecuteTree and not outermost (r=gal). 2008-10-13 12:44:37 -07:00
Jason Orendorff
12c5730930 TM: Remove unreachable "return false" in TraceRecorder::record_JSOP_NOT. No bug, r=gal. 2008-10-13 14:10:35 -05:00
Blake Kaplan
54cdbe81ec Merge mozilla-central -> tracemonkey 2008-10-13 11:05:05 -07:00
Blake Kaplan
665c19d6ac Bug 458355 - ecma_3/Operators/11.4.1-002.js fail; r=brendan 2008-10-13 19:02:43 +02:00
Jason Orendorff
6b88d0da8d Bug 459426 - Reunite record_JSOP_{NEW,CALL}. r=gal. 2008-10-13 11:04:26 -05:00
Robert Sayre
da78ac865a Merge. 2008-10-12 20:50:34 -04:00
Robert Sayre
79bbd2eb93 Bug 459300. JSON should use internal JS functions where it makes sense. r=brendan 2008-10-12 20:48:48 -04:00
Andreas Gal
315c3a9ce7 Use a single instance of the shell to run the quick benchmark. 2008-10-12 15:58:34 -07:00
Andreas Gal
9bfc3c5072 Properly recover from a nested side exit with more than a single level of nesting (459539, r=danderson). 2008-10-12 15:39:32 -07:00
Ben Turner
9a82f09922 Bustage fix. 2008-10-12 12:03:40 -07:00
Ben Turner
311284ddff Bug 455436 - "XPConnect insists on using its own error reporter even when another is already set." r+sr=jst. 2008-10-12 11:32:34 -07:00
Andreas Gal
d622ee23d8 Merge. 2008-10-11 20:27:03 -07:00
Andreas Gal
798a62ad00 Stack water level is off by +1 in getTop, and JSOP_CALLPROP premature updates the tracker (459537, r=danderson). 2008-10-11 20:26:29 -07:00
Igor Bukanov
db18f808c9 Bug 408539 - Storing XPCContext inside JSContext 2008-10-11 19:35:39 +02:00
Boris Zbarsky
c7e2dfdbea Fixing docs a bit 2008-10-10 12:45:19 -04:00
Boris Zbarsky
33415ac1fb Adding some documentation 2008-10-10 12:43:30 -04:00
Jason Orendorff
232767cb27 Bug 459294 - TM: move soft float builtins next to SoftFloatFilter. r=andreas. 2008-10-10 11:31:23 -05:00
Arpad Borsos
8b11d938d2 Bug 456388 - Remove PR_STATIC_CALLBACK and PR_CALLBACK(_DECL) from the tree; r+sr=brendan 2008-10-10 17:04:34 +02:00
Igor Bukanov
35f70f6096 bug 458679 - r=crowder 2008-10-10 15:16:27 +02:00
Andreas Gal
6c4c7256a5 Merge. 2008-10-09 16:17:53 -07:00
Andreas Gal
9a086f63ae Don't carry around oldpc in AbortRecording path (459321, r=danderson). 2008-10-09 16:17:13 -07:00
Brendan Eich
8f06837465 Bug 408838. Native JSON. r/sr=shaver 2008-10-09 12:16:16 -07:00
Robert Sayre
480186b5af Merge. 2008-10-09 14:20:08 -04:00
Robert Sayre
1dcc178640 Bug 459259 - Consolidate code for retrieving top of the JSON parser's object stack. r=brendan 2008-10-09 14:18:31 -04:00
Jason Orendorff
319f102472 Bug 459141 - Rename JSTN_{CATCH,FINALLY,ITER} to JSTRY_*. r=brendan. 2008-10-09 12:10:17 -05:00
Jason Orendorff
c4b5d25289 Bug 458098 - js_DumpObject can't handle objects that share proto's scope (r=crowder) 2008-10-09 07:30:21 -05:00
Jason Orendorff
cec3f38c7b Bug 457919 - Delete unused GCC_OPT_BUG makefile variable (r=mrbkap) 2008-10-09 07:30:20 -05:00
Jason Orendorff
77ddd411ef Bug 457914 - window.document should not have a quick stub (r+sr=jst) 2008-10-09 07:30:20 -05:00
Brendan Eich
3c94660673 Use standard anti-dangling-else/macro-call-expression-statement macrology. 2008-10-09 00:13:49 -07:00
Brendan Eich
c603bd095c Fix dangling else blunder (459186, caught by Jesse's fuzzer). 2008-10-08 23:34:00 -07:00
Andreas Gal
35de6c0d9d Merge. 2008-10-08 21:02:57 -07:00
Andreas Gal
c974289da5 Support thin loops (iteration < 2) by closing the loop even if we are on the last iteration (456431, r=danderson). 2008-10-08 21:02:04 -07:00
Doug Turner
996fd0f708 Bug 458917 - Windows CE Cleanup. r/sr=stuart+bsmedberg 2008-10-08 20:51:54 -07:00
Robert Sayre
5feaaba5f2 Bug 459160 - json.cpp misuses rooting api. r=mrbkap 2008-10-08 23:22:35 -04:00
danderson
c56579e021 Blacklist loop if its unstable and we don't recompile it (459174, r=gal). 2008-10-08 19:58:40 -07:00
mrbkap
e057125df7 js1_8/genexps/regress-380237-0[34].js fail, regression from introduction of JSOP_RESUME (458356, r=gal). 2008-10-08 19:46:12 -07:00
Robert Sayre
4d38e1512c Fix typo in filename. 2008-10-08 21:52:31 -04:00
Brendan Eich
a4e4559fa5 Bug 381843 - Move for-var-in and for-let-in hoisting from the emitter to the parser (r=mrbkap). 2008-10-08 18:43:28 -07:00
Robert Sayre
6579c458ac Merge. 2008-10-08 21:17:03 -04:00
Andreas Gal
afc99f7ccc In ifop, avoid eq0(eq0(x)), instead flip guard direction and use single eq0 (459164, r=danderson). 2008-10-08 17:49:54 -07:00
Andreas Gal
471ed73a35 Evaluate cond to true if value evaluates to true in non-fused if (459159, r=danderson). 2008-10-08 17:44:04 -07:00
Robert Sayre
bef8140a39 Bug 458959. this.JSON is enumerable. r+sr=mrbkap 2008-10-08 19:33:26 -04:00