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