Commit Graph

229 Commits

Author SHA1 Message Date
Chris Leary
7c740a8dc0 Back out due to mochiserver breakage. (no_r=me) 2010-09-09 16:52:31 -07:00
Chris Leary
7c2ac56dff Bug 540675: remove callerVersion from stack frame. (r=lw) 2010-09-09 14:25:30 -07:00
David Anderson
69b95ea914 ICs for scripted calls (bug 587698, r=dmandelin). 2010-09-02 20:04:33 -07:00
David Mandelin
c056a07f6b Backed out changeset 41e3e584023f -- more tinderbox bustage. 2010-08-27 18:51:14 -07:00
David Anderson
8d3e96d32e [JAEGER] ICs for scripted calls (bug 587698, r=dmandelin). 2010-08-27 17:50:53 -07:00
Sean Stangl
ef6068d3b0 [JAEGER] Backed out changeset 1035fdc5d714. no_r=fire. 2010-08-27 10:42:10 -04:00
Jan de Mooij
5209097cb3 [JAEGER] Added fast-path for >>> (bug 589932, r=dvander). 2010-08-26 01:29:52 -04:00
David Anderson
e9aeb4b8bb Backed out changeset ebd2b956b565. 2010-08-26 02:30:08 -04:00
David Anderson
169050a338 [JAEGER] Inline caches for scripted calls (bug 587698, r=dmandelin). 2010-08-26 01:29:52 -04:00
David Anderson
194facbde7 [JAEGER] Clean up JSScript hacks (bug 590275, r=dmandelin). 2010-08-24 22:57:35 -04:00
David Mandelin
02f201cead [JAEGER] Merge from tracemonkey. 2010-08-23 11:35:14 -07:00
Jim Blandy
285b03968f Bug 438633: Give new JSScript objects lifetimes like GCThings. r=brendan
Attach script objects immediately in all JSAPI script-creating functions;
have JS_NewScriptObject simply return the already-allocated object; and
make JS_DestroyScript a no-op.

Verify that all scripts given to JSAPI script-consuming functions have
objects, or are the canonical empty script object.
2010-08-20 13:11:05 -07:00
Sean Stangl
03963cf4ff [JAEGER] Implement PurgeMICs. b=584182, r=dvander. 2010-08-12 16:58:43 -07:00
Andrew Drake
bc97d0240e [JAEGER] Add debug mode, and with it EvaluateInFrame. r=dvander, b=578154 2010-08-05 17:15:49 -07:00
Andrew Drake
ebfb6d0eca Backed out changeset a8aeff259925 and fix due to random crashes. 2010-08-11 02:35:10 -07:00
Andrew Drake
e4ec6d69ff [JAEGER] Add debug mode, and with it EvaluateInFrame. r=dvander, b=578154 2010-08-05 17:15:49 -07:00
David Mandelin
ddcca372a7 Backed out changeset a661b26a83a1 due to tinderbox failures. 2010-08-06 11:41:28 -07:00
Andrew Drake
469286fcd4 [JAEGER] Add debug mode, and with it EvaluateInFrame. r=dvander, b=578154 2010-08-05 17:15:49 -07:00
David Mandelin
904ccc994c Merge from Tracemonkey. 2010-07-27 11:48:08 -07:00
David Mandelin
fff17561b9 [JAEGER] Fixed a few warnings 2010-07-26 11:54:12 -07:00
David Mandelin
8702c2649d Merge from Tracemonkey. 2010-07-26 11:52:26 -07:00
Chris Leary
4c5fd024ab Bug 578272: Remove Algol-like display optimization. (r=brendan) 2010-07-26 06:35:38 -07:00
Andrew Drake
0040af619a [JAEGER] Implement trap part of debug API. r=dvander, b=570650 2010-07-21 03:04:39 -07:00
David Mandelin
2d74ccfb40 Backed out changeset d1d52f7820f2 due to Mochitest crashes. 2010-07-22 17:11:10 -07:00
Andrew Drake
3f3b764d82 [JAEGER] Implement trap part of debug API. r=dvander, b=570650 2010-07-21 03:04:39 -07:00
David Anderson
fa4e27c745 [JAEGER] Basic integration of tracing JIT and method JIT (bug 578727). 2010-07-20 18:01:16 -07:00
David Anderson
cf5a8cf505 [JAEGER] Merge from tracemonkey. 2010-07-19 20:49:26 -07:00
Sean Stangl
47c29dee6c [JAEGER] Add configure flags to disable MIC/PIC support; (578896; r=dvander).
Specifically: --disable-monoic, --disable-polyic.
2010-07-14 22:56:06 -07:00
Chris Leary
1834523ed5 Bug 577708: Remove Algol-like display optimization. (r=dvander) 2010-07-11 00:57:13 -07:00
David Anderson
0ddb5ebacc [JAEGER] Unbroke build, merge merge merge. 2010-07-05 20:14:42 -07:00
David Anderson
64fd3377e9 [JAEGER] Merge from fatval & TM. 2010-07-05 18:07:39 -07:00
Luke Wagner
78ef13ef62 Avoid crazy JS_STATIC_ASSERT decl conflict on OS X by removing C linkage from jsscript.h 2010-07-04 19:55:05 -07:00
Luke Wagner
d119486317 Merge from TM
--HG--
rename : js/src/xpconnect/src/wrappers/AccessCheck.cpp => js/src/xpconnect/wrappers/AccessCheck.cpp
2010-07-04 14:49:39 -07:00
David Anderson
2892d7e043 [JAEGER] PIC for not-escaped call objects (bug 576733). 2010-07-04 13:18:55 -07:00
Chris Leary
aa4f41d836 Bug 576148: Factor out js::UpvarCookie. (r=mrbkap, dvander) 2010-07-02 13:37:39 -07:00
Luke Wagner
99411cc93d Bug 549143 - fatvals 2010-07-14 23:19:36 -07:00
Jeff Walden
173c4d1adf Bug 531675 - Ignore the second argument of eval, except to warn once per JSScript (per function, or per global script for uses not in functions) that it's not supported. (Again.) r=mrbkap
--HG--
extra : rebase_source : 2a0b9670e7c2c90ab0c41d37e3ab99c3bbc4c819
2010-07-23 11:27:07 -05:00
David Mandelin
3125a566c7 No bug, fix MSVC warnings, no_r=me 2010-07-26 12:04:53 -07:00
David Anderson
884b494c29 [JAEGER] Re-added Dave Mandelin's polymorphic inline caches for GETPROP (bug 572310). 2010-06-19 21:58:55 -07:00
David Anderson
4d054d48ba [JAEGER] Don't optimize escaping variables (bug 566022). 2010-06-18 11:07:15 -07:00
David Anderson
6ce58480af [JAEGER] Added monomorphic inline caches for SETGNAME. 2010-06-14 13:35:47 -07:00
David Anderson
297eb1af31 [JAEGER] Added monomorphic inline cache for reads of unbound globals. 2010-06-12 19:00:30 -07:00
David Anderson
82d98ad449 [JAEGER] Predict unbound names as being on the global object (bug 564949). 2010-06-12 19:00:27 -07:00
David Anderson
f6b0dbf8c8 [JAEGER] Fix build. 2010-06-10 22:20:30 -07:00
David Anderson
8e4fe7b3e9 [JAEGER] Merge from fatval branch. 2010-06-03 23:04:57 -07:00
Luke Wagner
8846bb56a4 Fix failing reftests. Align consts stored in scripts 2010-06-03 18:22:37 -07:00
Luke Wagner
8f6c06b148 Remove jsboxedword, change jsid to be a jsval 2010-06-02 19:09:04 -07:00
Jeff Walden
3de322ba70 Bug 629187 - Strict mode keywords are accepted as argument names and function name for strict mode functions. r=jimb
--HG--
extra : rebase_source : adce872db2d58e32a53995d757a85da50c8f63a4
2011-01-26 16:46:38 -08:00
Jim Blandy
2016210905 Bug 554955: Revert fix (changesets 297b1312f534, 18a1effafe19, 26d40e1e80bf, f6117465a979): 14% performance hit as measured by Talos. r=talos 2011-01-31 16:48:26 -08:00
Jim Blandy
a237e87988 Bug 554955: Give blocks and call objects unique shapes when they have parents that may be extended with new bindings. r=jorendorff
The comments for js::Bindings::extensibleParents explain why this is necessary.

AssertValidPropertyCacheHit should have been catching this bug, but for
reasons I don't understand, it is restricted from checking this case. This
patch extends it to assert when the bug is detected.

I've gathered the infallible parts of the initialization for Call objects
and cloned block objects into their own functions.
2011-01-31 12:08:13 -08:00
Jim Blandy
4b5d129a27 Bug 554955: Make JSObject::setMap not pretend to take a const shape. r=jorendorff
Without this patch, JSObject::setMap takes a const js::Shape *, which is
kind of misleading. The object will not actually treat the shape as const
(it does a const_cast). At all but one call site, setMap's argument is not
a const shape --- and in fact, many call sites are installing empty shapes
whose role in life is to be extended.

The only place where a const js::Shape appears is in setSharedNonNativeMap,
which is doing something unusual. The const cast should be there.

Changing js::Bindings::lastShape to return a non-const shape is then
natural, and cleans up the definition of initCall coming in the next patch.
2011-01-31 12:08:13 -08:00
Chris Leary
074bd0c596 Bug 595691, take 2: fix versioning across VM instances, remove _options. (r=luke,brendan,igor) 2011-01-27 02:54:58 -08:00
Chris Leary
1771b7c232 Backed out changeset b88172246b66 due to Win32 debug failures. 2011-01-25 04:11:47 -08:00
Chris Leary
b462e1fb98 Bug 595691: fix versioning across VM instances, remove _options. (r=luke,brendan,igor) 2011-01-25 02:33:27 -08:00
Brendan Eich
0b7d9754dc Get rid of JSOP_{GET,CALL}UPVAR and simplify code greatly (592202, r=jorendorff). 2010-12-29 23:46:50 -08:00
Nicholas Nethercote
42704598e2 Bug 610070 - Large amount of heap allocation from js::PropertyTable::init. r=brendan. 2011-01-03 17:14:55 -08:00
David Mandelin
530a85948d Fix MSVC warnings. 2011-01-03 13:25:17 -08:00
Jeff Walden
32dfb1669c Followup to bug 614493 to fix GCC overwarning about 'uninitialized' variables in js_XDRScript. r=warnings
--HG--
extra : rebase_source : ce0062c356524ee14dedf39e67c6aa1880259afb
2010-12-30 16:40:21 -06:00
Jeff Walden
f7bec8a9e8 Bug 614493 - Move top-level binding storage (and argument, variable, and upvar counts) out of JSFunction and into js::Bindings, itself stored in JSScript, anticipating the time when strict mode eval scripts will need it. r=brendan 2010-11-16 15:34:24 -08:00
Brian Hackett
be4d109005 Don't generate INITPROP/INITELEM for singleton constant initializers, bug 577359. 2010-12-30 08:07:43 -05:00
Bill McCloskey
9090d0a347 Bug 584860 - TraceMonitor cleanups (r=igor) 2010-12-22 14:00:06 -08:00
Bill McCloskey
c8eee530e2 Bug 584860 - Move TraceMonitor into compartment (r=gal) 2010-12-22 12:02:25 -08:00
David Anderson
9f1aa534da Import method JIT 'outer' framework. 2010-05-22 17:09:52 -07:00
David Anderson
285a986008 Statically bind global variables where possible (bug 561923, r=brendan). 2010-05-22 15:38:04 -07:00
Luke Wagner
6c0883c94f Merge from tracemonkey 2010-05-11 00:41:08 -07:00
Luke Wagner
4e71f5312b (unrebased) fat value patch 2010-05-10 22:01:31 -07:00
Igor Bukanov
b9b1577eec bug 630209 - (Compile|Execute)Script that are GC-safe. r=jorendorff 2011-02-03 14:06:21 +01:00
Brendan Eich
e2c6050a6b Back out on orange (635548, r/a=shaver). 2011-02-19 22:35:13 -08:00
Brendan Eich
bd1ec738ae Fix spurious "attempt to run compile-and-go script on a cleared scope" errors (635548, r/a=shaver). 2011-02-19 20:56:17 -08:00
Igor Bukanov
d14ffdc7bb bug 560471 - remove GC_LAST_DITCH and GC_KEEP_ATOMS. r=jorendorff 2010-04-24 00:15:42 +02:00
Brendan Eich
298a4cad15 Tweak to align comment. 2010-04-22 17:45:49 -07:00
Chris Leary
089bf2c468 Back out bug 654301 to run again on try. 2011-05-16 19:03:20 -07:00
Chris Leary
338cf025af Bug 654301: Better interned string API. (r=Waldo) 2011-05-16 18:18:59 -07:00
David Anderson
7427ea1c19 Backed out changeset 752bab2cb85b. 2010-05-23 20:27:13 -07:00
David Anderson
51f21f92ba Statically bind global variable references where possible (bug 561923, r=brendan). 2010-05-23 17:15:16 -07:00
Jim Blandy
34a27f0c88 Bug 514585: Recognize "use strict" directives. r=igor 2009-11-18 13:33:53 -08:00
Brendan Eich
5f158ca862 Fix empty script deserialization (525481, r=igor). 2009-11-05 15:41:56 -08:00
Brendan Eich
9f9a05b0c3 Don't build a stack frame to execute empty scripts (516827, r=igor). 2009-10-18 17:41:24 -07:00
Jim Blandy
0d6cdd1921 Bug 514585: Use bitfields in JSScript instead of a flag word. r=brendan
This is behavior-neutral cleanup in preparation for the real patch.
2009-10-08 10:29:03 -07:00
Igor Bukanov
99ca32eed1 bug 515403 - fixing shutdown race when accessing scriptFilenameTable. r=brendan 2009-09-26 17:44:11 +04:00
Brendan Eich
5de171f5f5 Don't assume a script with sharps whose caller has no sharps has no other fixed slots (516262, r=igor). 2009-09-14 10:29:56 -04:00
Brendan Eich
bb9d2c5506 Followup for 513119, r=jorendorff. 2009-09-10 07:22:20 -07:00
Brendan Eich
016b0f207a Bug 514981 - JSStackFrame::sharp{Array,Depth} should be locals allocated due to #n[#=] usage (r=igor). 2009-09-09 20:21:15 -07:00
Jason Orendorff
b53824855d Bug 513119 - Change JSScript macros to methods. r=Waldo. 2009-09-09 18:52:55 -05:00
Igor Bukanov
6bfe4771cc bug 513190 - avoiding jsint tagging of the private slot data. r=jorendorff 2009-09-05 19:59:11 +04:00
Brendan Eich
fd61e1b61a Fix imacro vs. script code disassembly/decompilation confusion (510644, r=jorendorff). 2009-09-04 16:27:17 -07:00
Igor Bukanov
ef90f6f522 bug 493457 - uniform access to private slots. r=mrbkap, sr=jwalden 2009-08-04 23:06:55 +02:00
Brendan Eich
51fe52e6f9 Wrapper automation should not apply to flat closures, plus cleanup (496790, r=igor). 2009-06-09 00:51:02 -07:00
Brendan Eich
77da9d75ed Bug 494235: wrap escaping optimized closures for the debugger API (r=igor/mrbkap). 2009-06-04 18:58:47 -07:00
Jason Orendorff
70dbad9c94 Bug 493232 - Wrong variable value accessed in closure. r=brendan. 2009-05-27 15:46:03 -05:00
Brendan Eich
26a5b7f3fc Bug 487563 - Crash [@ js_Interpret] (r=mrbkap). 2009-04-09 18:44:54 -07:00
Brendan Eich
962b187fe5 upvar2, aka the big one take 2 (452598, r=mrbkap). 2009-04-05 21:17:22 -07:00
Andreas Gal
706120c0fb Backed out changeset 972c44aa9d1f (bug 452598). 2009-04-04 10:14:52 -07:00
Brendan Eich
5f4d9ff474 upvar2, aka the big one (452598, r=mrbkap). 2009-04-04 10:05:49 +01:00
Michael Wu
4fe78c6fb5 Bug 643927 - Improve handling of state during script serialization, r=igor 2011-03-24 12:56:58 -07:00
Jason Orendorff
c936fbe2d4 Bug 463239 - JS_SetTrap alters code execution. r=brendan. 2009-02-18 18:31:09 -06:00
Brendan Eich
3fcd3cab28 Bug 454184 - Implement eval caching (r=mrbkap). 2009-01-27 19:56:55 -08:00
Benjamin Smedberg
6f98baeeca Bug 470000 - JS_GET_SCRIPT_ATOM needs to use cx->fp safely, r=brendan 2008-12-22 11:07:40 -05:00
Brendan Eich
83c020dce3 Bug 465220 - nested imacro abort not cleanly handled (botches assertions) (r=mrbkap, a=beltzner). 2008-11-17 16:56:01 -08:00
Brendan Eich
cb47c4cf08 Bug 456511 - (imacros) TM: Make conversion work on arbitrary JSObjects (r=gal). 2008-11-13 00:30:20 -08:00
Andreas Gal
074d900a57 Backed out changeset a40f2117bcc0 2008-11-12 17:39:48 -08:00
Brendan
0ca607d76b Add imacros to support conversion of arbitrary JSObjects (456511, r=gal). 2008-11-12 16:55:45 -08:00
Jason Orendorff
319f102472 Bug 459141 - Rename JSTN_{CATCH,FINALLY,ITER} to JSTRY_*. r=brendan. 2008-10-09 12:10:17 -05:00
Brendan Eich
9cd8e5a539 Upvar, v0.1 (limited to looking up from eval in a function, to the function's args and vars). 2008-08-21 03:47:33 -07:00
Brendan Eich
4a25cf5a32 Defer eval'ed script destruction to next GC; expose js_obj_eval for tracing. 2008-08-20 22:18:42 -07:00
Andreas Gal
f3972bfb84 Backed out changeset be63a51a0a3b. Breaks tofte if run from ./time.sh. 2008-08-20 14:57:49 -07:00
Brendan Eich
6bc330ef33 Don't disable property caching in eval (this requires GC'ing eval scripts). Do tolerate active Call object at head of scope chain in record_JSOP_CALLNAME, and go straight to the stack slots. 2008-08-20 14:04:37 -07:00
Brendan Eich
eaf4254c15 Merge from mozilla-central. 2008-08-08 18:58:04 -07:00
Brendan Eich
4d1de6a956 Add JSSF_NO_SCRIPT_RVAL script flag, and uint8 flags field for it. 2008-07-27 00:12:01 +01:00
Igor Bukanov
dcdf0df942 bug 445391 - re-enable OJI for Firefox 3.1, the configure changes is from jst, r=jst,crowder, sr=benjamin 2008-07-29 19:53:03 +02:00
Brendan Eich
2100afe584 Space nit fix. 2008-07-24 00:55:41 +02:00
shaver@mozilla.org
8a97552a28 merge (mostly, doesn't build) 2008-07-22 23:58:43 -04:00
Igor Bukanov
fc68712767 bug 441686 - eliminating JSStackFrame.(nvars|vars). r=brendan 2008-07-20 22:13:17 +02:00
Andreas Gal
a1bf0819b2 Removed JSOP_HEADER code. Its too costly. This patch restore essentially the same performance as unmodified SM. 2008-06-10 14:44:51 -07:00
Brendan Eich
9c2b039d6f JSOP_HEADER takes a byte index of loop header counting from script->loopBase, and related changes. 2008-06-03 14:48:47 -07:00
Andreas Gal
de3107d2ee Add a per-runtime loop attribute table that associates a jsval attribute with every loop in the code. The jsval is used initially as a counter until a certain threshold is reached, at which point the loop is traced and compiled and the resulting native code object is stored in the jsval to be executed for future encounters of the loop. 2008-05-30 10:11:56 -07:00
Brendan Eich
ed4274e179 Instrument loop headers with jsvals above fp->vars and below fp->spbase. 2008-05-28 19:07:32 -07:00
igor@mir2.org
303ea3000c [Bug 423874] Allocating functions together with JSObject. r=brendan a1.9=blocking1.9 2008-04-02 00:46:12 -07:00
igor@mir2.org
c0d5c51190 [bug 423874] backing out as a simpler patch would do the job with less code. 2008-03-29 03:34:29 -07:00
igor@mir2.org
7598733582 [bug 424376] backing out - too much compatibility problems. 2008-03-28 15:27:36 -07:00
igor@mir2.org
d6b3cc6e3b bug=424376 r=brendan a1.9b5=beltzner Compile-time function objects are no longer exposed through SpiderMonkey API. 2008-03-23 03:04:38 -07:00
igor@mir2.org
eaa513c2f5 bug=423874 r=brendan a1.9b5=dsicore Allocating native functions together with JSObject 2008-03-21 01:19:23 -07:00
brendan@mozilla.org
23c36b84f4 Return of the property cache (365851, r=shaver). 2008-02-07 15:18:45 -08:00
igor@mir2.org
22c2a33a75 Bug 403878: No compiler pseudo-frames when compiling functions. r,a=brendan 2007-11-29 06:49:42 -08:00
igor@mir2.org
ab560f0cb7 Bug 385729: objects and regexps are stored in separated tables in JSScript. r=brendan,mrbkap 2007-07-08 02:03:34 -07:00
igor@mir2.org
9137bfaf4e Bug 349326: for-in loop now always closes iterator objects. r=brendan 2007-07-02 05:13:23 -07:00
igor@mir2.org
e8eeb4f10c Bug 379758: SETSP is removed 2007-05-24 00:51:46 -07:00
igor@mir2.org
904650319a Bug 375270: API to trace GC things graph without running the GC. r=brendan 2007-04-16 23:53:37 -07:00
hg@mozilla.com
465265d0d4 Free the (distributed) Lizard! Automatic merge from CVS: Module mozilla: tag HG_REPO_INITIAL_IMPORT at 22 Mar 2007 10:30 PDT, 2007-03-22 10:30:00 -07:00