Commit Graph

87 Commits

Author SHA1 Message Date
Andreas Gal
f1b353f1c2 Add a place to store the current shape of the global object as we add slots it the global slot list. 2008-08-18 13:14:19 -07:00
Andreas Gal
ad4bfa3b5b Add a global slot list to the trace monitor. 2008-08-18 13:12:19 -07:00
Brendan Eich
13cfac8f97 Rework GCF_DONT_BLOCK to be cx->gcDontBlock, assert it's set, set before entering trace and clear on exit. 2008-08-11 11:18:16 -07:00
Brendan Eich
9a1bab4473 Restore C compilation support to jscntxt.h, used by liveconnect (only one file now: jsj_JavaClass.c had no need to include jscntxt.h). 2008-08-09 22:25:54 -07: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
da42a8c6f7 Strength-reduced unsigned modulus in the fragment quick cache, don't use signed % which requires a branch and less-than-zero test. 2008-08-03 22:35:15 -07:00
Andreas Gal
6df2ea22c9 Add a fragment cache data structure. This will be used to accelerate the fragment lookup during branching. 2008-08-01 22:33:05 -07:00
shaver@mozilla.org
6a5deaf550 Decouple jscntxt.h from jstracer.h so that xpconnect doesn't try to include all of
nanojit.
2008-07-10 17:29:16 -04:00
Andreas Gal
f4e8e89333 Sync with mozilla-central. 2008-07-09 01:18:56 -07:00
Igor Bukanov
e1c0b7d628 Bug 443746 – Optimizing the enumeration state allocation. r=brendan 2008-07-06 21:02:44 +02:00
Andreas Gal
ea9279b6d0 Sync with mozilla-central. 2008-07-03 21:45:09 -07:00
Brendan Eich
d0966c0fc0 Clean up for-in ops and naming nit (443039, r=igor). 2008-07-01 18:59:18 -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
bcrowder@mozilla.com
942878bc17 Fixing a comment spacing nit. 2008-06-25 14:18:12 -07: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
bcrowder@mozilla.com
595df96804 Bug 440473 - Crash [@ Decompile][@ js_GetSrcNoteOffset] with firebug/jQuery, r=igor 2008-06-25 13:50:26 -07:00
Igor Bukanov
5d6bef81d3 [Bug 378918] backing out to investigate the tinderbox leak problem 2008-06-24 18:55:06 +02:00
Igor Bukanov
855f22f5c4 Updating for mozilla-central
--HG--
branch : scalable_gc_free_lists_378918
2008-06-18 14:24:19 +02:00
Brendan Eich
894dd03e2a First stage of loop table work; bitmap free space management and GC hook-up still to come. 2008-06-03 23:52:28 -07:00
Brendan Eich
946fa41d8c Fiddle loop table slot interface and impl in hope of freeing slots over time. 2008-06-02 18:06:33 -07:00
Brendan Eich
01514c4b16 No JS_TRACER ifdefs, keep line len < 80, reparameterize jstracer.cpp functions, js_OpLength helper. 2008-06-02 17:19:41 -07:00
Andreas Gal
e461a72736 The table is now per-thread in a multi-threaded environment, and per-runtime otherwise. During code generation we merely allocate a loop table slot to each loop. Each thread will enlarge the table as needed in JSOP_HEADER. 2008-05-30 18:58:43 -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
reed@reedloden.com
888518dda2 Bug 410606 - "AIX linker error for trunk build xpconnect module : ERROR: Undefined symbol: .JSAutoTempValueRooter::operator delete(void*,unsigned long)" [p=shailen.n.jain@gmail.com (Shailen) r+sr=mrbkap a1.9=beltzner] 2008-05-07 03:26:52 -07:00
igor@mir2.org
f1f0e7b6db bug=427185 r=brendan a1.9=mtschrep 2008-04-14 23:29:06 -07:00
igor@mir2.org
6c1a48770b backing out bug 427185 to investigate tinderbox orange 2008-04-14 02:33:05 -07:00
igor@mir2.org
ec3d5ccdf8 bug=427185 r=brendan a1.9=mtschrep 2008-04-14 01:01:39 -07:00
igor@mir2.org
e82307a73c [Bug 425828] clearing property cache when thread gets the first context. r=brendan a1.9=blocking1.9 2008-04-02 02:14:59 -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
bf88fe6798 bug=422348 r,a1.9=shaver proper overflow error reporting 2008-03-12 16:07:47 -07:00
igor@mir2.org
0490d5e5c8 bug=400902 r,a1.9=brendan Specialized GC arena for double values 2008-02-26 13:01:42 -08:00
jag@tty.nl
36cdf867ff Backing out bug 400902. Something's still screwy :-( 2008-02-24 08:46:20 -08:00
igor@mir2.org
4e3cb1c91c Bug 400902: specialized arena for doubles 2008-02-24 06:14:45 -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
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
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
0fb54b4f78 Move serialized cycle detector for __proto__ and __parent__ into js_GC (414452, r=igor+shaver). 2008-01-29 22:29:49 -08:00
crowder@fiverocks.com
52337e9048 Bug 408113: allocate stackPools less often, r=brendan, a=blocking1.9 (schrep) 2008-01-29 18:11:30 -08:00
igor@mir2.org
3d870e0a9e Bug 413744: JS_GCMETER requires to recompile just js/src, not the whole browser. r,a=brendan 2008-01-29 14:17:25 -08:00
brendan@mozilla.org
a4625d2c2b Revert last checkin (414452). 2008-01-29 00:45:14 -08:00
brendan@mozilla.org
f4f2be6738 Move guts of js_SetProtoOrParent to jsgc.c, unifying serialization and deadlock avoidance machinery (414452, r=igor). 2008-01-28 23:18:21 -08:00
igor@mir2.org
70aa979d4f Bug 411025: temp rooting implemenation cleanup, r,a=brendan 2008-01-19 16:46:37 -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
7bc03fee82 Bug 409109: using the new operation counting JS API for monitoring long-running scripts. r=brendan,jst 2008-01-10 07:39:02 -08:00