Jim Blandy
90bf6a2d1e
Bug 97954: Give jsconfig.h a better name, and make room for the new js-config.h. r=bsmedberg
...
We'd like the SpiderMonkey configure script to generate a header file
named js-config.h to hold #definitions chosen at configure time that
affect the SpiderMonkey API, like JS_THREADSAFE. However, that name
is very similar to that of an existing header file, jsconfig.h. This
patch renames the existing header file, and updates all references to
it.
--HG--
rename : js/src/jsconfig.h => js/src/jsversion.h
2008-09-05 10:19:17 -07:00
Brendan Eich
4fa7c5195d
Put the trace-recording/executing flag in the trace monitor to handle many contexts per thread (451666, r=gal).
2008-09-03 00:38:24 -07:00
David Anderson
be89898254
Merge with mozilla-central.
2008-09-02 14:17:19 -07:00
Brendan Eich
45ea54d2d1
Don't let GC run when recording.
2008-08-29 16:04:54 -07:00
Brendan Eich
43b25b3c09
Rename gcDontBlock to runningJittedCode, and assert it's false on entry to js_Interpret (for 451657, but not the fix, just prolog).
2008-08-25 23:08:21 -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
Andreas Gal
f3972bfb84
Backed out changeset be63a51a0a3b. Breaks tofte if run from ./time.sh.
2008-08-20 14:57:49 -07:00
Brendan Eich
6bc330ef33
Don't disable property caching in eval (this requires GC'ing eval scripts). Do tolerate active Call object at head of scope chain in record_JSOP_CALLNAME, and go straight to the stack slots.
2008-08-20 14:04:37 -07:00
shaver@mozilla.org
5d3ad68bbe
merge from mozilla-central
2008-08-20 08:17:17 -07:00
Jason Orendorff
f9365c3994
Backing out changeset cf6c811e1272 (bug 407216) due to debug assertions.
2008-08-19 22:28:26 -05:00
Jason Orendorff
4b74677d5e
Bug 407216 - DOM quick stubs - faster paths for top N DOM methods (r+sr=jst, security r=mrbkap, build r=bsmedberg)
...
* * *
* * *
* * *
2008-08-19 21:38:24 -05:00
Igor Bukanov
bafd289e60
bug 445705 - eliminate Namespace and QName GC things. r=brendan
2008-08-29 10:10:34 +02:00
Peter Weilbacher
a39ac3faf1
[OS/2] Bug 451686: fix build break and fastcall warnings in js/src, r=shaver
2008-08-22 11:53:26 +03:00
Jason Orendorff
fe99024391
Bug 407216 - DOM quick stubs - faster paths for top N DOM methods (r+sr=jst, security r=mrbkap, build r=bsmedberg)
...
* * *
* * *
2008-08-19 21:38:24 -05:00
Andreas Gal
dfb94ccec1
Add a global type map to the monitor and rename slotList to globalSlots.
2008-08-18 21:08:35 -07:00
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
Igor Bukanov
0818d2b656
bug 417131 - caching enumerators to speedup for-in loops. r=brendan
2008-08-19 13:00:14 -04: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
igor@mir2.org
1a974d67e5
Bug 409109: backing the checking as the tree was closed.
2008-01-09 07:31:13 -08:00
igor@mir2.org
f8145c5e61
Bug 409109: using the new operation counting JS API for monitoring long-running scripts. r=brendan,jst
2008-01-09 07:20:39 -08:00
brendan@mozilla.org
4bef2e90ac
64-bit fixes for problems reported by edwin@cheatah.nl (many thanks to Edwin; 410941, r=igor).
2008-01-07 00:41:06 -08:00
igor@mir2.org
7cb5b01011
Bug 409109: Backing out once again to figure out the reason for talos regressions.
2008-01-05 17:20:16 -08:00
igor@mir2.org
9bb5aae331
Bug 409109: using the new operation counting JS API for monitoring long-running scripts. a,r=brendan
2008-01-05 03:25:49 -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
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
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
1831710dfa
Bug 403678: GC thing callback is removed. r,a=brendan
2007-11-19 02:57:04 -08:00
reed@reedloden.com
f79a9b57ed
Bug 401188 - "Thread-unsafe updates to sub-atomic rt->gc{Poke,Zeal}" [p=crowder r=igor a1.9=brendan]
2007-11-13 02:44:08 -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
igor@mir2.org
9bd984356d
Bug 402087: fixing iteraction between gczeal mode and scripts. r,a=brendan, aM9=beltzner
2007-11-06 03:05:00 -08:00
jst@mozilla.org
858f753261
Landing patch for bug 401687. Stop reference counting JS objects in the cycle collector. Patch by peterv@propagandism.org, r+sr=dbaron@mozilla.com,igor@mir2.org, a=dsicore@mozilla.com
2007-11-01 15:51:57 -07:00
brendan@mozilla.org
19b6fcc0f0
Back-out due to test failure.
2007-09-17 18:22:20 -07:00
brendan@mozilla.org
2260fcfe2e
Make GCF_SYSTEM immutable per object (396487, r=igor).
2007-09-17 17:47:42 -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
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
4d68066c7e
Bug 387481, bug 389063: multithreading atom fixes and cleanups. r=brendan
2007-08-07 00:29:32 -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
79f3a28c2d
Bug 380469: Calling close on unreachable generators from GC is no longer supported. r=brendan
2007-07-13 00:28:47 -07:00
crowder@fiverocks.com
b41a2f79a8
Bug 357016: follow-up to fix another void* nit, patch by Edward Lee edilee@mozilla.com, r=crowder
2007-07-12 17:04:23 -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
bc0a21a243
Bug 378793: Patch from Mike Moening and me to implement per-context debug hooks. r=brendan
2007-06-14 23:44:18 -07:00
igor@mir2.org
ac5551e88a
Bug 378793: removal of the previous commit.
2007-06-14 13:20:37 -07:00
igor@mir2.org
758bc9b1cf
Bug 378793: Patch from Mike Moening to implement per-context debug hooks. r=me,brendan
2007-06-14 13:04:09 -07:00
crowder@fiverocks.com
c66619c8af
Bug 308429: make tooMuchGC dynamic (runtime gczeal option), r=brendan
2007-05-15 16:27:20 -07:00
igor@mir2.org
7f6e92e7d2
Bug 379146: New API to register application-specific GC roots. r=brendan
2007-05-01 03:09:46 -07:00
igor@mir2.org
904650319a
Bug 375270: API to trace GC things graph without running the GC. r=brendan
2007-04-16 23:53:37 -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