Commit Graph

123 Commits

Author SHA1 Message Date
Andreas Gal
574e4cf9f2 Properly reject new arrays with negative length (530617, r=jwalden). 2009-11-23 16:09:02 -08:00
David Mandelin
42af5f9b94 Backed out changeset 9cc88d291fc0 2009-10-05 18:31:10 -07:00
David Mandelin
e7d37eba3d Bug 495331: trace JSOP_LAMBDA for non-null, non-heavyweight case, r=jorendorff,igor 2009-09-28 13:51:46 -07:00
David Anderson
3e3b3a2362 Trace recursive function calls (bug 459301, r=gal). 2009-09-30 15:28:00 -07:00
David Mandelin
99fb23d064 Bug 511695: Fix JS warnings in MSVC8, r=brendan 2009-09-23 11:16:30 -07:00
David Mandelin
10e9f4f6b8 Bug 517633: printf that can be called from trace, r=lw
--HG--
extra : rebase_source : 7bf61fae910feab40ef706717420e883ccafc4da
2009-09-22 15:02:50 -07:00
Jeff Walden
553915decf Bug 307791 - Implement ES5's Object.keys(O). r=jorendorff 2009-09-08 15:59:14 -07:00
David Mandelin
a8c3972f23 Bug 504797: give arguments objects created on trace a private value that can be used to look up argument values in the native stack, r=gal 2009-09-09 11:40:21 -07:00
Luke Wagner
6bfe9f9329 Bug 460904 - rename/tweak JSTraceableFunction (take 2) 2009-09-04 13:44:31 -07:00
Luke Wagner
3087376a4d Backed out changeset 94da2f68afdb 2009-09-04 11:35:52 -07:00
Luke Wagner
52d822b6d2 Bug 460904 - rename/tweak JSTraceableFunction (r=jorendorff) 2009-09-03 11:57:14 -07:00
David Anderson
935ae0427d Fixed all ARGSIZE_LO usages to be ARGSIZE_P or ARGSIZE_I (bug 513790, r=jorendorff). 2009-08-31 16:06:24 -07:00
Andreas Gal
c85b53a42a Backout bug 512617. 2009-08-29 18:46:27 -07:00
Andreas Gal
13d0507fa2 More fallout from bug 512617 bonus patch. 2009-08-29 13:33:10 -07:00
Andreas Gal
8b20919625 Restore 'CALLEE' tracable native type, quickstubs need it (compilation fix for bug 512617). 2009-08-29 13:05:16 -07:00
Andreas Gal
64328a8e94 Consolidate object creation on trace (512617, r=jorendorff). 2009-08-29 12:36:00 -07:00
David Mandelin
368b225d78 Bug 505591: trace JSOP_NAME for returned closures, r=dvander
--HG--
extra : rebase_source : 496a99feeb0fee876cd72b24e1e753d9b41ea51f
2009-08-27 15:40:37 -07:00
Luke Wagner
a5b9103165 Bug 419743 - Add JSOP_CONCATN (r=waldo) 2009-08-18 15:43:17 -07:00
Jason Orendorff
c45d09492c Bug 507683 part 1 - Trace native getters. r=gal.
--HG--
extra : rebase_source : f73754b7946e3d525b11f5973c61e22bd2f56dba
2009-08-25 15:01:29 -07:00
Andreas Gal
ebfe09b112 Fast path for writing a double into an array (511737, r=danderson). 2009-08-20 16:53:10 -07:00
David Mandelin
184e8b155d Backed out changeset 238e8b557e4f: causing tjss orange
--HG--
extra : rebase_source : 49cfd40e67221067c45c85a5b96db39d22be1f67
2009-08-14 19:17:00 -07:00
David Mandelin
a5a7e420d0 Bug 505591: trace JSOP_NAME for returned closures, r=dvander 2009-08-14 16:02:47 -07:00
Jason Orendorff
2df7b71611 Bug 507665 - Avoid imacros for JSOP_GETELEM and JSOP_CALLELEM. r=gal. 2009-08-03 11:38:28 -05:00
Nicholas Nethercote
93a1b3630d Bug 507087 - TM/nanojit: change _argtypes fields from 2 bits to 3 bits (TR sync). r=rreitmai,jorendorff. 2009-07-30 10:44:34 +10:00
Jason Orendorff
f0ca3c8bd9 Bug 506982 - Fix up jstracer style. r=Waldo. 2009-07-29 11:58:19 -05:00
David Mandelin
cfb0d1fd1b Bug 506821: clean up trailing whitespace, r=brendan 2009-07-27 18:40:12 -07:00
David Mandelin
9d0c7a2f72 Bug 495329: Trace JSOP_BINDNAME/JSOP_SETNAME for closures, r=brendan 2009-07-27 18:13:53 -07:00
Robert Sayre
b8172c1402 Bug 503160 - integer constants are not automatically demoted. Patch by Andreas Gal and Robert Sayre. r=dvander/gal 2009-07-22 19:47:41 -04:00
Andreas Gal
f552010935 Make js_ValueToString inline (503669, r=jwalden). 2009-07-13 14:55:04 -07:00
David Mandelin
975f74c278 Bug 453730: trace JSOP_ARGUMENTS, r=gal 2009-07-08 11:16:41 -07:00
David Mandelin
a90aee411c Bug 494269: trace JSOP_LAMBDA_FC, r=brendan,gal 2009-06-03 11:19:20 -07:00
David Mandelin
112ce8b24b Bug 458838: enable tracing of upvar accesses that go outside the current trace to interpreter state, r=gal 2009-05-11 18:05:44 -07:00
nnethercote@mozilla.com
1f7e5c0ef5 kill builtins.tbl (479888, r=jorendorff). 2009-05-05 17:36:26 -07:00
jorendorff
93c6d226d3 Record all calls to native functions (487134, r=gal, brendan). 2009-05-05 14:26:06 -07:00
Jason Orendorff
b5d4ba583e Bug 487676 - Nesting deep-aborting trace calls don't work. r=gal.
--HG--
extra : rebase_source : 436164485bd5e981e5ae8997eed2c371f3ecd77b
2009-04-09 18:07:00 -05:00
Jason Orendorff
d24fe77d94 Backed out changeset e201de53e918 in favor of a different approach. 2009-04-07 16:15:34 -05:00
Jason Orendorff
8978ecf87d Bug 482015 - TM: Assertion failure: cx->bailExit due to _RETRY builtins that call JS_malloc. r=gal, r=igor. 2009-04-07 11:42:50 -05:00
Andreas Gal
38b604f834 Bug 485022 - TM: Assertion failure: JS_ON_TRACE(cx), at ../jsarray.cpp. r=mrbkap 2009-03-30 16:43:23 -07:00
Andreas Gal
7b58dd1b90 Make new String() trace (484333, r=brendan). 2009-03-20 16:30:31 -07:00
Ben Turner
3b7ccb55b7 Bug 480187 - 'Make qsgen.py generate traceable natives'. r+sr=jst. 2009-03-19 15:16:59 -07:00
Brendan Eich
f32c3d8613 Bug 480657 - TM: Add an API to define traceable constructors (r=gal, jorendorff). 2009-03-03 22:53:27 -08:00
Andreas Gal
5b7dfe03a9 Assert prototype shapes when reading a hole from a dense array instead of calling a builtin (481328, r=brendan). 2009-03-03 21:58:56 -08:00
Andreas Gal
8c3223aab5 Browser spuriously sets runtime->anyArrayPrototypeHasElement and makes perf bad (481251, r=mrbkap). 2009-03-03 18:04:15 -08:00
Andreas Gal
053dabc000 Trace index out-of-bounds case of charCodeAt and optimize for integer case (480794, r=danderson). 2009-03-01 00:53:58 -08:00
Andreas Gal
4c04aa2f53 Backed out bug 480657. Massive failures across all platforms. 2009-02-28 23:40:04 -08:00
Andreas Gal
7bd6cbad5f Add an API to define traceable constructors (480657, r=brendan). 2009-02-28 18:18:42 -08:00
Jason Orendorff
b93b5173f2 Bug 476873 - TM: Trace JSOP_ARRAYPUSH. r=brendan. 2009-02-06 13:19:06 -06:00
Jeff Walden
3c038a63cb Bug 463243 - Assert correct type in JSVAL_TO_* (and vice versa) macros to fail fast when type errors happen. r=brendan 2009-02-03 13:56:25 -08:00
Jason Orendorff
e4c1fb1cfd Bug 462027 - Bail off trace when reentering interpreter. r=gal. 2009-02-03 18:25:12 -06:00
Jeff Walden
461e28ae88 Backed out changeset ca733f2cc237; looks like some include system weirdness is biting where an old version of jsapi.h is being included which then causes a *newer* included version to miscompile. Weird, still investigating... 2009-02-03 15:48:30 -08:00
Jeff Walden
e356cf1d3a Bug 463243 - Assert correct type in JSVAL_TO_* (and vice versa) macros to fail fast when type errors happen. r=brendan 2009-02-03 13:56:25 -08:00
Jason Orendorff
4e3f2cfd40 Revert to 07be1f190a3d. Revision 5f5c1cd63641 should not have been pushed. 2009-02-03 12:38:44 -06:00
Jason Orendorff
f6ffd1d380 [mq]: bug-462027-v9 2009-02-02 20:42:46 -06:00
Jason Orendorff
2ba2f5d3ed Bug 475761 - TM: js_Any_GetProp and friends can reenter. r=brendan. Note that this patch alone does not fix the bug. The rest of the fix comes in bug 462027. 2009-01-29 00:13:03 -06:00
Andreas Gal
519b56ea2f Correct incorrectly reversed order of argument types in builtin description (472533, r=brendan). 2009-01-26 21:05:59 -08:00
Brendan Eich
56658da21f Bug 465460 - TM: valueOf ignored on third iteration of loop (r=gal). 2008-12-16 19:03:42 -08:00
Robert Sayre
685eced553 Merge m-c to tracemonkey. 2008-12-06 00:54:08 -08:00
Brian Crowder
91cded4902 Bug 462912 - THIS is defined on windows mobile r=jim 2008-12-03 08:41:12 -05:00
Brendan Eich
37c40ca7c0 Merge. 2008-11-17 16:29:40 -08:00
Ginn Chen
5600ce1618 Bug 452390 Tracemonkey will crash if the compiler doesn't have FASTCALL r=danderson 2008-11-17 07:02:06 +08:00
Andreas Gal
e609f0bb95 Cleanup GuardRecord, SideExit, and InterpStruct and extract VM-dependant fields (463313, r=danderson). 2008-11-07 15:23:43 -08:00
Jason Orendorff
5fdc83f169 Bug 462459 - TM: Better tracer support for |new Array(...)|. r=gal. 2008-11-05 07:29:38 -06: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
Jason Orendorff
7336afcbbd Fix blatant bugs in jsbuiltins.h. No bug#. r=dvander. 2008-10-23 15:39:35 -05:00
Andreas Gal
74418814c5 Merge. 2008-10-21 17:52:37 -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
Jason Orendorff
e0b7bce037 Bug 459266 - TM: Allow CALLINFO macros to specify linkage. r=brendan. 2008-10-16 14:24:10 -05:00
Graydon Hoare
bf84bf6273 Merge tamarin-redux (nanojit2) into tracemonkey (457786, r=edwsmith,gal,danderson). 2008-10-13 13:29:18 -07:00
Jason Orendorff
6b88d0da8d Bug 459426 - Reunite record_JSOP_{NEW,CALL}. r=gal. 2008-10-13 11:04:26 -05: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
a27d101dab Bug 458735 - Improve internal API for traceable natives (r=brendan, nanojit r=edwsmith) 2008-10-08 17:08:33 -05:00