Commit Graph

58 Commits

Author SHA1 Message Date
Brendan Eich
34a2d3c518 Fix build bustage: parent or proto might be not JSObject* when setting to null. r=brendan, patch by bz. 2008-09-09 12:33:28 -07:00
Brendan Eich
40cf4096c7 Avoid needless prototype-shape purges (454035, r=igor). 2008-09-09 09:57:10 -07: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
shaver@mozilla.org
5d3ad68bbe merge from mozilla-central 2008-08-20 08:17:17 -07:00
Brendan Eich
d004346b52 Object.prototype.{hasOwnProperty,propertyIsEnumerable}. 2008-08-11 17:47:05 -07:00
Brendan Eich
56fac8fe90 Back out extra gcflag param change (859b9a23adbf), I set bad precedent and will back out previous such shortly. Want cx->gcflags instead. 2008-08-11 10:33:23 -07:00
shaver@mozilla.org
ee67ea9db4 extend js_NewObjectWithGivenProto to permit specifying additional new-thing flags (such as GCX_DONT_BLOCK) 2008-08-10 22:56:10 -04:00
Brendan Eich
eaf4254c15 Merge from mozilla-central. 2008-08-08 18:58:04 -07:00
Igor Bukanov
b16852c1cd bug 412296 - removal of minarg support for fast native 2008-08-08 18:02:50 +02:00
Brendan Eich
fe3a6127c5 - Export JSSLOT_ITER_* from jsiter.cpp to jsiter.h, for jstracer.cpp to use.
- Fix OBJ_GET_SLOT to be STOBJ_GET_SLOT in jsiter.cpp, no thread safety here (bug on file).
- Move JSNativeEnumerator from jsobj.cpp to jsobj.h for jstracer.cpp as well.
- Rename JOF_2BYTE JOF_UINT8 for consistency, and actually decompile it.
- Trace JSOP_FORVAR (can't do anything in JSOP_ITER, it comes before the loop).
- Shortened some guardMyLongSummerVacationWithinBounds names ;-).
- Removed/refactored to avoid dslots_ins obligation on all callers.
2008-07-30 16:32:33 -07:00
Igor Bukanov
d3223d86a3 [Bug 446229] Fixing GCC conversion warnings within SpiderMonkey. r=brendan 2008-07-20 14:53:21 +02:00
Igor Bukanov
e1c0b7d628 Bug 443746 – Optimizing the enumeration state allocation. r=brendan 2008-07-06 21:02:44 +02:00
Brendan Eich
d0966c0fc0 Clean up for-in ops and naming nit (443039, r=igor). 2008-07-01 18:59:18 -07:00
Igor Bukanov
8012684984 [Bug 411575] SM: faster js_PutCallObject, r=brendan 2008-06-30 19:17:33 +02:00
igor@mir2.org
5cab25689b [Bug 427798] faster js_PutBlockObject(), r=brendan a1.9=shaver 2008-05-01 14:59:52 -07:00
crowder@fiverocks.com
f780e2e7be Bug 428336, assertion failure after deleting eval 16 times, patch by mrbkap, r=brendan, a=mtschrep 2008-04-14 17:31:43 -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
d8bf5a95c1 [bug 424964] optimizing reserve slot allocation, r=brendan a1.9=mtschrep 2008-03-29 06:38:28 -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
eaa513c2f5 bug=423874 r=brendan a1.9b5=dsicore Allocating native functions together with JSObject 2008-03-21 01:19:23 -07:00
mrbkap@gmail.com
24f718d4ac Don't assume that chrome:// implies system principals. bug 419848, r=brendan sr=jst 2008-03-06 14:52:58 -08:00
mrbkap@gmail.com
41fce0a6d7 Fix array_concat to be more generic. bug 420966, r=brendan a=beltzner 2008-03-06 12:05:18 -08:00
mrbkap@gmail.com
59987175f2 Outerize |this| always. bug 418069, r/sr=jst/brendan a=beltzner 2008-02-29 16:17:38 -08:00
gavin@gavinsharp.com
3106b6c27f Back out bug 418069 because it causes a crash on startup for Camino 2008-02-20 18:06:26 -08:00
crowder@fiverocks.com
d7bbfe4d1d Bug 418069 - js1_5/Regress/regress-379245.js FAIL - browser - bad this, patch by mrbkap, r=brendan, sr=jst, a1.9=brendan 2008-02-20 15:28:18 -08:00
igor@mir2.org
c94ca494bf Bug 416439. Using goto error in the interpreter to shrink code size. r,a1.9=brendan 2008-02-19 04:16:26 -08:00
shaver@mozilla.org
8ef681ab63 Implement optimized object-ops for dense arrays, b=322889, r+a=brendan. 2008-02-18 13:01:47 -08:00
igor@mir2.org
f86e5a86d2 Bug 416601: property cache is properly disabled under with statements with generators. r=brendan a1.9=blocking1.9 2008-02-15 03:38:40 -08:00
shaver@mozilla.org
08cc7ed6d6 back out for mochitest failures in prototype 2008-02-15 02:31:38 -08:00
shaver@mozilla.org
19f85281c0 Bug 322889: implement specialized storage and operations for JS arrays; r+a=brendan. 2008-02-15 01:48:53 -08:00
gavin@gavinsharp.com
be5dd93507 Back out bug 322889 due to jQuery unit test failures 2008-02-14 18:41:18 -08:00
shaver@mozilla.org
4b517f103c Bug 322889: implement specialized storage and operations for JS arrays; r+a=brendan 2008-02-14 17:07:53 -08:00
shaver@mozilla.org
7550157d62 Bug 416675: refactor JSScope locking for reuse on non-native objects. r+a=brendan. 2008-02-14 16:44:46 -08:00
brendan@mozilla.org
dfd7f0a7b4 Optimize wrapper creation via JS_NewObjectWithGivenProto, and avoid cycle-check overhead in JS_Set{Prototype,Parent} (408871, r=mrbkap). 2008-02-13 21:10:42 -08:00
brendan@mozilla.org
1bad15affa Export js_CheckForStringIndex from jsobj.c for use by assert in jsinterp.c (416460, r=shaver). 2008-02-10 17:12:29 -08:00
brendan@mozilla.org
23c36b84f4 Return of the property cache (365851, r=shaver). 2008-02-07 15:18:45 -08:00
igor@mir2.org
43ba6ec933 Bug 400902: Backing out due to test failures. 2008-02-03 19:41:31 -08:00
igor@mir2.org
0bed6fb140 Bug 400902: specialized arena for fast allocation of double values.r,a=brendan ab3=mtschrep 2008-02-03 18:37:22 -08:00
igor@mir2.org
b57a98b51e Bug 400902: backing out due to test failures. 2008-02-01 11:59:59 -08:00
igor@mir2.org
ea03e8c6f0 Bug 400902: using a specialized GC arena for doubles. r,a=brendan a1.9b3=mtschrep 2008-02-01 10:39:23 -08:00
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
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
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
igor@mir2.org
6360c6c769 Bug 396758: the system flag is moved from GC flags to JSObject itself. r=brendan 2007-10-01 12:11:41 -07:00
igor@mir2.org
a27e01321b Bug 396758: taking the patch out as it broke the test cases. 2007-09-25 10:30:55 -07:00