Commit Graph

34 Commits

Author SHA1 Message Date
shaver@mozilla.org
8a97552a28 merge (mostly, doesn't build) 2008-07-22 23:58:43 -04:00
Brendan Eich
a6bb7cfc89 Always select gvar ops for declared global vars, instead of only if loopy/enough-used (445901, r=shaver). 2008-07-21 15:14:14 -07:00
Igor Bukanov
fc68712767 bug 441686 - eliminating JSStackFrame.(nvars|vars). r=brendan 2008-07-20 22:13:17 +02:00
Brendan Eich
78677269db Always select gvar ops for declared global vars, instead of only if loopy/enough-used. 2008-07-17 14:37:25 -07:00
shaver@mozilla.org
d571eaac32 Merge with mozilla-central as of c5dc9d84d476, and restore obj-to-boolean fixes
from 2b107c27dedf (accidentally backed out during an earlier merge).  22 test
suite failures for -L lc2 lc3 spidermonkey-n slow-n, probably needs some guard
work in TRY_BRANCH_AFTER_COND.
2008-06-29 10:01:59 -04:00
Brendan Eich
e93d1c1869 Fix bogus js_Emit return value tests (438986, r=igor). 2008-06-18 18:50:33 -07:00
Igor Bukanov
0c39954dfd [Bug 439624] renaming decltype to declType as the former is a keyword in the next C++ standard. 2008-06-18 23:35:53 +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
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
igor@mir2.org
ac22737548 Bug 309894: non-recursive XML-filtering implementation. r,a1.9=brendan 2008-02-13 06:32:31 -08:00
brendan@mozilla.org
d56e272e19 * Menu of -D flags for enabling instrumentation, as a commented-out CFLAGS += setting for convenient testing. * js_FindProperty and js_LookupPropertyWithFlags return indexes into the scope and prototype chains, respectively, to support internal instrumentation, and to pave the way for the return of the property cache (bug 365851).. * jsutil.[ch] JSBasicStats struct and functions for computing mean/sigma/max and auto-scaling histogram. * JS_SCOPE_DEPTH_METER instrumentation for compile- and run-time scope chain length instrumentation: + At compile time, rt->hostenvScopeDepthStats and rt->lexicalScopeDepthStats meter scope chains passed into the compile and evaluate APIs. + At runtime, rt->protoLookupDepthStats and rt->scopeSearchDepthStats track steps along the prototype and scope chains until the sought-after property is found. * JS_ARENAMETER uses JSBasicStats now. * Added rt->liveScopePropsPreSweep to fix the property tree stats code that rotted when property tree sweeping moved to after the finalization phase. * Un-bitrotted some DEBUG_brendan code, turned some off for myself via XXX. * Mac OS X toolchain requires initialized data shared across dynamic library member files, outlaws common data, so initialize extern metering vars. * Old HASHMETER code in jshash.[ch] is now JS_HASHMETER-controlled and based on JSBasicStats. * DEBUG_scopemeters macro renamed JS_DUMP_SCOPE_METERS; uses JSBasicStats now. * Disentangle DEBUG and DUMP_SCOPE_STATS (now JS_DUMP_PROPTREE_STATS) and fix inconsistent thread safety for liveScopeProps (sometimes atomic-incremented, sometimes runtime-locked). * Compiler-modeled maxScopeDepth will propagate via JSScript to runtime for capability-based, interpreter-inlined cache hit qualifier bits, to bypass scope and prototype chain lookup by optimizing for common monomorphic get, set, and call site referencing a prototype property in a well-named object (no shadowing or mutation in 99.9% of the cases). 2008-01-12 16:31:31 -08:00
brendan@mozilla.org
6fdb9f94ad Support let in switch-case statement lists, scoped by switch body (411279, r=mrbkap). 2008-01-08 16:49:35 -08:00
brendan@mozilla.org
9ced524053 Require explicit body block in 'for (let x ...) let y...' (410981, r=mrbkap). 2008-01-07 01:41:28 -08:00
brendan@mozilla.org
cfbfe3c2cd Track ES4 proposal by restricting let declaration to be direct child of block (408957, r=mrbkap). 2008-01-04 17:34:11 -08:00
igor@mir2.org
136aa3e109 Bug 410653: make sure that the generator cleanup code is called on all code paths. r,a=brendan 2008-01-03 10:13:42 -08:00
igor@mir2.org
365cedcc72 Bug 408271: check for missing return when parsing a function body in one place. r,a=brendan 2007-12-21 11:11:46 -08:00
crowder@fiverocks.com
eade185112 Bug 407024 - Fatal JS_Assert "JSVAL_IS_NUMBER(pn3->pn_val) || JSVAL_IS_STRING(pn3->pn_val) || JSVAL_IS_BOOLEAN(pn3->pn_val)", patch by Igor Bukanov <igor@mir2.org>, r=brendan, approvalM10=schrep 2007-12-07 13:36:58 -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
fa98070cd2 Bug 397210: JSTokenStream is stored in JSParseContext. r=brendan 2007-10-02 16:10:09 -07:00
igor@mir2.org
91ee82b969 Backing out the patch 397210. 2007-10-01 13:46:10 -07:00
igor@mir2.org
9ffab6a112 Bug 397210: JSTokenStream is stored in JSParseContext. r=brendan 2007-10-01 13:25:25 -07: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
crowder@fiverocks.com
daa4556abc Bug 357016: spidermonkey should be buildable by a C++ compiler, patch by
crowder/Jason Orendorff, r=brendan
2007-07-05 13:37:47 -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
brendan@mozilla.org
31ef926445 Support generator expressions for JS1.8 (380237, r=mrbkap). 2007-05-17 18:41:17 -07:00
mrbkap@gmail.com
9f45bc7d58 Ignore let declarations when process variable declarations to ensure proper hoisting behavior. bug 350387, r=brendan 2007-03-29 11:25:22 -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