Commit Graph

65 Commits

Author SHA1 Message Date
mrbkap@gmail.com
0ae65ed097 Protect |accum| from being collected in js_ConcatStrings. bug 393874, r=igor a=beltzner 2008-03-06 12:16:42 -08:00
brendan@mozilla.org
fd7e5e29b8 Relaxd ES4-like yield parsing for JS1.8 (384991, r=mrbkap). 2008-02-18 20:49:02 -08:00
brendan@mozilla.org
1379a0de12 Avoid O(n^2) hazard under JS_ARENA_RELEASE, simplifying arena-pool usage and eliminating debug code (416628, r=igor). 2008-02-11 00:55:02 -08:00
igor@mir2.org
b80ad65983 Bug 354135: protect against oo recursion in e4x. r,a=brendan, a1.9b3=mtschrep 2008-01-31 22:01:17 -08:00
brendan@mozilla.org
2d27499625 Final js1.8 feature: sugar for object destructuring (404734, r=mrbkap). 2008-01-29 22:27:13 -08:00
igor@mir2.org
84985132e6 Bug 413241: fixing bogus assertion in Statements() from jsparse.c. r=brendan,mrbkap a=brendan 2008-01-20 12:55:42 -08:00
igor@mir2.org
d8ee415593 Bug 410649: function statement and destructuring parameter name clash now favours the function. r,a=brendan 2008-01-20 02:34:06 -08:00
igor@mir2.org
28f999de16 Bug 413104: access to JSString is hidden behind macros even for a flat string. 2008-01-19 13:15:08 -08:00
reed@reedloden.com
34fb42c02c Back out Igor's patch from bug 412340 due to consistent orange on fxdbug-win32-tb. 2008-01-19 00:06:45 -08:00
igor@mir2.org
d4e057f519 Bug 412340: JString stores a flag to indicate that it was atomized. r=brendan a=blocking1.9+ 2008-01-18 18:56:51 -08:00
mrbkap@gmail.com
fadd2b40a9 Don't call js_PopStatement if there was a parse error. bug 410852, r=brendan 2008-01-15 14:24:54 -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
sayrer@gmail.com
7fbc1f0e59 Bug 409324. js_DoubleToECMA(u)Int32 should return jsdouble, not a useless always-true JSBool. r/a=brendan 2007-12-21 14:06:37 -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
sayrer@gmail.com
cfbb96e156 Bug 409302. js_DoubleToECMA(u)Int32 has an unused cx param. r/a=brendan 2007-12-20 17:43:49 -08:00
igor@mir2.org
16849a505a Bug 398219: avoid storing references to the global scope in the compiled scripts. r,a=brendan 2007-12-19 05:20:45 -08:00
igor@mir2.org
076f69ec85 Bug 398219: backing out the check in due to regression failures. 2007-12-12 12:08:24 -08:00
igor@mir2.org
1e5b233ff0 Bug 398219: avoid storing references to the global scope in the compiled scripts. r,a=brendan 2007-12-12 10:47:56 -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
e46dc99233 Bug 394941: report exhausting of the script memory quota as ordinary runtime exceptions. r=brendan, a1.9=beltzner 2007-11-22 14:21:18 -08:00
igor@mir2.org
a4162380a8 Bug 398609: simpler handling of hidden properties, r,a=brendan 2007-11-19 09:15:45 -08:00
igor@mir2.org
7d6e57125d Bug 398609: backing out due to test failures. 2007-11-18 16:58:46 -08:00
igor@mir2.org
64dc5b1984 Bug 398609: cleanup of hidden properties support. r,a=brendan 2007-11-18 16:36:49 -08:00
brendan@mozilla.org
3cbee734d4 Propagate end position in all cases parsing a parenthesized expression (402386, r=mrbkap/a=schrep). 2007-11-13 18:07:28 -08:00
igor@mir2.org
8b7011f509 bug 397289: removing JSParseNode.pn_ts. r,a=brendan 2007-11-13 14:18:17 -08:00
igor@mir2.org
837c046912 Bug 398609: Backing out due to mochi test failure. 2007-11-13 07:47:28 -08:00
igor@mir2.org
6c43fd5702 Bug 398609: cleanup of hidden properties. r,a=brendan 2007-11-13 06:56:18 -08:00
mrbkap@gmail.com
ea3c9194f2 Restore dynamic indirect eval code. bug 383682, r=brendan/igor a=brendan 2007-10-09 15:42:42 -07: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
fe1659e34d Bug 394673: avoid recursion with long chains of "||" or "&&" in JS code. r=brendan 2007-09-19 14:53:17 -07:00
igor@mir2.org
8f31883e5a Bug 393368: new API to limit heap consumption by stack-like data structures used by compiler, decompiler and interpreter. 2007-08-27 15:21:55 -07:00
igor@mir2.org
4773ca1cae Bug 391290: mutability flag for strings is stored inside strings. r=brendan 2007-08-15 23:23:06 -07:00
brendan@mozilla.org
ba3ad2ce7a Fast (frame-less) native call optimizations (385393, r=igor). 2007-08-01 21:33:52 -07:00
brendan@mozilla.org
18e7692117 Backing out, see bug 389122 and orange or red tinderboxes. 2007-07-21 16:21:20 -07:00
brendan@mozilla.org
5f038f69ae Fast natives and related optimizations (385393, r=igor). 2007-07-21 14:39:42 -07:00
igor@mir2.org
a4c622bced Bug 386885: JSAtom.number is removed in favour of using atoms itself for hashing. r=brendan 2007-07-11 02:25:45 -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
crowder@fiverocks.com
a8f2207ba1 Bug 384809 : Various JS engine crashes/leaks in OOM conditions, r=brendan, patch by Gavin Reaney, gavin@picsel.com 2007-06-18 21:10:03 -07:00
mrbkap@gmail.com
93e990bf21 Remove indirect eval. bug 382509, r=brendan 2007-06-04 16:03:03 -07:00
mrbkap@gmail.com
2a44a73281 Backing out to fix orange 2007-06-04 15:18:25 -07:00
mrbkap@gmail.com
3d9131d85e Remove indirect eval. bug 382509, r=brendan 2007-06-04 14:40:55 -07:00
brendan@mozilla.org
e7de6b332a Implement ES4/JS2 expression closures (381113, r=mrbkap). 2007-05-29 18:49:42 -07:00