Commit Graph

68 Commits

Author SHA1 Message Date
jst@mozilla.org
5be0f146b4 Fixing bug 413045. Make some JS API functions faster by accessing obj->fslots[] directly when possible. r=brendan@mozilla.org, r=igor@mir2.org. 2008-01-23 14:05:43 -08:00
igor@mir2.org
5732653d7d Bug 412340: avois rehashing of alreday atomized strings. r,a=brendan 2008-01-23 05:17:47 -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
jwalden@mit.edu
84e3a1e6db Bug 409476 - js_ValueToBoolean is pure, remove cx and out parameters and just return a boolean value for better perf. r+a=brendan 2008-01-19 16:56: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
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
igor@mir2.org
a9fa67b981 Bug 364776: New operation counter API to replace branch callback. r,a=brendan 2008-01-03 01:28:40 -08:00
brendan@mozilla.org
c02dbef876 XML/XMLList need toSource love (410192, r=mrbkap). 2008-01-02 12:25:59 -08:00
jruderman@hmc.edu
91424bc51f Backing out igor's fixes for bug 409109 and bug 364776 in an attempt to fix Tinderbox tgfx failures that are keeping talos red 2007-12-26 11:19:17 -08:00
igor@mir2.org
aa66348a18 Bug 364776: new operation callback API to replace branch callback. a,r=brendan 2007-12-25 02:12:26 -08:00
mrbkap@gmail.com
7c7e1261bf Give the JS engine some knowledge of wrappers so that they can compare equal and be noticed when they take part in __proto__ cycles; this was supposed to land before. bug 397855, r=brendan sr=dveditz 2007-12-21 01:10:59 -08:00
mrbkap@gmail.com
ace379fdfe Give the JS engine some knowledge of wrappers so that they can compare equal and be noticed when they take part in __proto__ cycles. bug 397855, r=brendan sr=dveditz 2007-12-20 14:59:44 -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
brendan@mozilla.org
7d8fcab4dc Remove DUMP_CALL_TABLE (preliminary patch for 365851, r=igor). 2007-12-14 13:36:02 -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
33dfb48ca3 Bug 406477: eval with function statements adds the function to the proper var object. r,a=brendan 2007-12-11 02:43:56 -08:00
reed@reedloden.com
f1fcf37818 Bug 407501 - "JSOP_NEWINIT lacks SAVE_SP_AND_PC" [p=igor@mir2.org (Igor Bukanov) r+a1.9=brendan aM10=damons] 2007-12-08 23:14:06 -08:00
igor@mir2.org
1c10d71daf Bug 405962: extra patch to move the switch case for CALL_PROP to a beter place in the source. r,a=brendan 2007-12-04 01:26:23 -08:00
igor@mir2.org
0ea5b6f14c Bug 405962: making sure that we can compile with !JS_HAS_XML_SUPPORT. a,r=brendan 2007-12-04 01:08:13 -08:00
jwalden@mit.edu
d3b11a2cbf Bug 376957 - Prevent data leaks from cross-site JSON loads (JavaScript literals), by making the global name bindings ReadOnly/DontDelete and making [] and {} use the global bindings. Still more that can be done here, but this covers a lot of the fix. r+a=brendan 2007-12-03 19:05:24 -08:00
igor@mir2.org
a0d8d9194e Bug 399544: using custom storage for function argument and variable names. r,a=brendan 2007-11-27 00:38:47 -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
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
reed@reedloden.com
b4a5976379 Bug 353116 - ""has no properties" is misleading and should be replaced with "is null or undefined"" [p=rich@rd.gen.nz (Rich Dougherty) r=brendan r=crowder a1.9=damons] 2007-11-12 21:23:22 -08:00
jst@mozilla.org
d1cdc96ae3 Landing fix for bug 388564. Adding Dtrace probes to the JS engine. Patch by padraig.obriain@sun.com and brendan@sun.com, and some intergration work done by jst@mozilla.org. r=brendan@mozilla.org, igor@mir2.org, sayrer@gmail.com, and r+a=ted.mielczarek@gmail.com. 2007-10-19 15:24:32 -07:00
timeless@mozdev.org
d12c3005eb Bug 397239 ActionMonkey: Remove "extra" parameter to JS_FN patch by Jason Orendorff <jorendorff@mozilla.com> r=igor a=brendan 2007-10-13 13:09:48 -07:00
brendan@mozilla.org
a6dd2d83f6 Fix order of evaluation bug in bitwise and shift ops (396969, r=igor). 2007-09-20 14:49:26 -07:00
igor@mir2.org
13edbd1801 Bug 396684: fixing regression from bug 394551 in js_Invoke. r=brendan 2007-09-19 14:10:58 -07:00
igor@mir2.org
cc6784b030 Bug 394551: no JS frames for fast native calls. r=brendan 2007-09-18 00:34:54 -07:00
igor@mir2.org
aacdc13f0f Bug 394551: taking out the last patch as broke Windows build. 2007-09-17 12:28:14 -07:00
igor@mir2.org
065a93dd1c Bug 394551: no JS frames for fast native calls. r=brendan 2007-09-17 12:08:46 -07:00
igor@mir2.org
f058abee03 Bug 392263: using mmap/VirtualAlloc for GC arenas. r=brendan 2007-09-16 06:03:17 -07:00
igor@mir2.org
f3d30850c6 Bug 392263: taking out the patch due to bug 396299. 2007-09-16 05:02:56 -07:00
igor@mir2.org
5855f137e7 Bug 392263: using mmap/VirualAlloc for GC arenas. r=brendan 2007-09-15 10:19:32 -07:00
igor@mir2.org
9343ce4a2c Bug 392263: taking out the patch due to Mac build problems. 2007-09-15 08:26:30 -07:00
igor@mir2.org
43e3bb8cc3 Bug 392263: using mmap/VirualAlloc for GC arenas. r=brendan 2007-09-15 08:11:41 -07:00
brendan@mozilla.org
47d32601de Remove MAX_INLINE_CALL_COUNT policing, plus old MAX_INTERP_LEVEL deadwood (392973, r=crowder). 2007-08-21 17:04:24 -07:00
igor@mir2.org
4d68066c7e Bug 387481, bug 389063: multithreading atom fixes and cleanups. r=brendan 2007-08-07 00:29:32 -07:00
brendan@mozilla.org
a12dfaf037 Fix bogus assertion in last patch (for 385393). 2007-08-02 01:21:55 -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
a3be4211d4 Bug 357016: Patch from Edward Lee to restore ability to compile SpiderMonkey with C++ compiler. It was broken after my changes. r=myself 2007-07-12 00:48:50 -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