Jim Blandy
88decefd28
Merge from TM.
2011-06-07 12:12:28 -07:00
Jim Blandy
8bd7752c01
Backed out changeset d02083014f57; build problems in nsXPConnect.cpp
2011-06-06 09:01:47 -07:00
Jason Orendorff
6a958619a0
Automatically turn debug mode on/off when adding/removing debuggees.
...
This allows most of the tests to run without the -d command-line flag.
Now a compartment is in debug mode if
* JSD1 wants debug mode on, thanks to a JS_SetDebugMode* call; OR
* JSD2 wants debug mode on, because a live Debug object has a debuggee
global in that compartment.
Since this patch only adds the second half of the rule, JSD1 should be
unaffected.
The new rule has three issues:
1. When removeDebuggee is called, it can cause debug mode to be turned
off for a compartment. If any scripts from that compartment are on
the stack, and the methodjit is enabled, returning to those stack
frames will crash.
2. When a Debug object is GC'd, it can cause debug mode to be turned off
for one or more compartments. This causes the same problem with
returning to deleted methodjit code, but the fix is different: such
Debug objects simply should not be GC'd.
3. Setting .enabled to false still does not turn off debug mode
anywhere, so it does not reduce overhead as much as it should.
A possible fix for issue #1 would be to make such removeDebuggee calls
throw. The fix to issues #2 and #3 is to tweak the rule--and to tweak
the rule for Debug object GC-reachability.
--HG--
rename : js/src/jit-test/tests/debug/Debug-ctor.js => js/src/jit-test/tests/debug/Debug-ctor-01.js
2011-06-02 21:58:46 -05:00
Brian Hackett
5c5438cc38
Merge TM -> JM
2011-06-02 12:59:28 -07:00
Brian Hackett
58811dfa16
[INFER] Address array review comments, add back backedge table, bug 657412.
2011-06-01 11:15:51 -07:00
Brian Hackett
1354314184
Merge TM -> JM
2011-05-27 15:08:04 -07:00
Jason Orendorff
0305e45450
Merge from tracemonkey to jsdbg2.
2011-05-25 17:52:35 -05:00
Jason Orendorff
5323e5a91c
Debuggees are globals, not compartments.
2011-05-23 11:11:09 -05:00
Igor Bukanov
3e2ef6c4ef
bug 656261 - better GC arena layout. r=wmccloskey
2011-05-19 21:01:08 +02:00
Brian Hackett
131bcf7ab2
[INFER] Disable inference and infallibly discard jitcode on OOM, bug 637674.
2011-05-18 12:34:17 -07:00
Brian Hackett
4cb0c5c5ef
[INFER] Cleanup for review, bug 657412.
2011-05-16 22:59:40 -07:00
Jason Orendorff
001c42745d
Merge from tracemonkey to jsdbg2. This merge reveals a bug in DebugFrame_getOlder, to be fixed separately.
2011-05-16 17:50:52 -05:00
Brian Hackett
55015fcf39
Merge TM -> JM
2011-05-11 20:37:23 -07:00
Brian Hackett
769796394d
[INFER] Reset use count when recompiling, bug 650163.
2011-05-09 15:11:32 -07:00
Brian Hackett
c930c3e982
Merge TM -> JM
...
--HG--
rename : js/src/GlobalObject.cpp => js/src/vm/GlobalObject.cpp
2011-05-09 09:49:48 -07:00
Jason Orendorff
03415943ee
Merge from tracemonkey to jsdbg2.
2011-05-04 12:13:58 -05:00
Jason Orendorff
a0e4b2bf22
Merge from tracemonkey to jsdbg2.
2011-04-29 10:12:46 -05:00
Paul Biggar
15828cd649
Backed out changeset 334ada87e329 (bug 628332) - those a11y errors arrived at the same time as this landing, so backing this out to see if that fixes it.
2011-04-29 04:00:57 -07:00
Brian Hackett
838352f9db
Merge TM -> JM
2011-04-28 13:02:47 -07:00
Christian Holler
faf48eb1e7
Bug 628332 - Avoid double-frees when compartment allocation fails (r=billm).
2011-04-27 16:09:00 -07:00
Jason Orendorff
782cb92948
Merge from tracemonkey to jsdbg2.
2011-04-26 14:45:06 -05:00
Chris Leary
e9c15c147e
Merge mozilla-central to tracemonkey.
2011-05-09 14:27:44 -07:00
Igor Bukanov
0370e3ab43
bug 652416 - race fixes and other cleanups for background finalization. r=anygregor
...
--HG--
extra : rebase_source : b1685fff8fa5dab43b9b595daa6118249d3ef891
2011-04-25 22:05:30 +02:00
Brian Hackett
43c276be4a
[INFER] Bytecode SSA analysis, bug 650715.
2011-04-22 07:59:45 -07:00
Christian Holler
b0902374f8
Bug 628332 - Avoid double-frees when compartment allocation fails (r=billm).
2011-05-03 04:26:40 -07:00
Jason Orendorff
d48b27e096
Rearrange some stuff. This way more js::Debug methods can be private, without making anything new public; all the event dispatch code is in one place; and we avoid having JSCompartment methods in jsdbg.cpp.
2011-04-21 14:44:53 -05:00
Brian Hackett
fe5aeaab19
Merge TM -> JM
2011-04-20 11:37:46 -07:00
Brian Hackett
68b35100e1
Merge TM -> JM
2011-04-19 08:23:41 -07:00
Jason Orendorff
5e2c73b316
Add rudimentary support for Debug.prototype.hooks.debuggerHandler. Note: A new constant JSPROP_NATIVE_ACCESSOR is added in jsapi.h, so that js_InitClass can create proper accessor properties.
2011-04-18 17:42:07 -05:00
David Anderson
cfa95c8cf3
Backed out changeset d851d44ad77a
2011-04-22 11:40:55 -07:00
David Anderson
43e7e71dd5
Refactor Call ICs (bug 638680, r=luke).
2011-04-21 11:14:49 -07:00
Bill McCloskey
3c0cd83aa3
Bug 616666 - Use explicit stack for GC marking (r=gal)
2011-04-15 16:56:08 -07:00
Brian Hackett
83e8f1e4ab
Merge TM -> JM
2011-04-12 07:04:45 -07:00
Brian Hackett
8b7888dd66
Merge TM -> JM
2011-04-01 19:57:28 -07:00
Brian Hackett
1053f5510c
[INFER] Make ReleaseScriptCode specify which JIT to destroy, fix inline code invariant logic, bug 619433.
2011-03-31 07:39:30 -07:00
Brian Hackett
1f1a4d216c
[INFER] Ensure that inlined scripts always have JIT code for expanding, bug 645666.
2011-03-29 08:30:05 -07:00
Luke Wagner
67af97e094
Bug 656462, part 3 - Syntactic touchups (r=waldo)
...
--HG--
extra : rebase_source : 7a81c352a96b9e23fc8f7bee5cb1d095c5cdb998
2011-05-24 16:08:40 -07:00
Paul Biggar
72c7701093
Bug 634155: Account for NewCompartment's memory, and change allocation APIs (r=nnethercote)
...
This changes the allocation API, in the following way:
js_malloc -> {cx->,rt->,OffTheBooks::}malloc
js_calloc -> {cx->,rt->,OffTheBooks::}calloc
js_realloc -> {cx->,rt->,OffTheBooks::}realloc
js_free -> {cx->,rt->,Foreground::,UnwantedForeground::}free
js_new -> {cx->,rt->,OffTheBooks::}new_
js_new_array -> {cx->,rt->,OffTheBooks::}new_array
js_delete -> {cx->,rt->,Foreground::,UnwantedForeground::}delete_
This is to move as many allocations as possible through a JSContext (so that they may be aken into account by gcMallocBytes) and to move as many deallocations to the background as possible (except on error paths).
2011-03-31 01:13:49 -07:00
Luke Wagner
0319982d42
Bug 665247 - Remove unused metering code (r=igor)
...
--HG--
extra : rebase_source : 78ec31e4236f63f8a91024f34b1b99a889dc47f5
2011-06-21 10:26:22 -07:00
Nicholas Nethercote
6ef6e862d2
Bug 665404 - Create JaegerCompartments lazily. r=luke.
2011-06-22 09:16:23 +10:00
Nicholas Nethercote
a902454a0c
Bug 661068 follow-up - Fix the --disable-tracejit bustage caused by 1e464e38591e. Oh the humanity!
2011-06-21 13:18:15 +10:00
Nicholas Nethercote
a208fd35a9
Bug 661068 - Create TraceMonitors lazily. r=luke.
2011-06-21 12:47:04 +10:00
Jeff Walden
e84bb50504
Bug 662946 - Remove various headers from INSTALLED_HEADERS that shouldn't be there. r=jimb
...
--HG--
extra : rebase_source : a6028a859cac4625ef2f3227ce0fa3159b5e8556
2011-06-09 01:12:21 -07:00
Brian Hackett
d737bb3ddb
Merge TM -> JM
2011-03-22 18:07:31 -07:00
Gregor Wagner
99a0150f57
Bug 627200 - Background Finalization for Strings and Objects r=gal
2011-04-13 13:43:33 -07:00
Luke Wagner
05d2002b66
Bug 644074 - Simplify and consolidate VM stack code into js/src/vm/Stack*
2011-04-13 09:27:37 -07:00
Luke Wagner
be794a0b5b
Bug 633690 - add HashMap::lookupWithDefault and putNew helper functions (r=billm)
...
--HG--
extra : rebase_source : 109b7974dac40749562c3b3ad4615029f1699b97
2011-03-23 17:40:11 -07:00
Brian Hackett
d3770c1fb6
[INFER] Sweep cloned type sets in call ICs before destroying the objects they reference, bug 641491.
2011-03-16 16:17:29 -07:00
Brian Hackett
9d86c615fc
Merge TM -> JM
2011-03-14 22:41:04 -07:00
Jason Orendorff
ec6e3d3332
Backed out changeset 39de74c74b20, which is causing the browser to leak windows.
2011-03-14 17:37:04 -05:00
Luke Wagner
7c96945e3c
Bug 613457 - clean up string interfaces (r=njn)
...
--HG--
extra : rebase_source : 3e77b67fa9fe2cc31312ad99951cf92258a98e64
2011-03-14 13:59:53 -07:00
Luke Wagner
fee4a41733
Bug 616562 - speed up JSString::isStatic (r=njn)
...
--HG--
extra : rebase_source : 9f0b553b8ab54bfbbd5290ba936581bda8bb40ec
2011-03-14 13:55:55 -07:00
Jason Orendorff
efd9982808
Bug 561359 - Change JSOP_LAMBDA to apply the method optimization deterministically. In particular, it no longer depends on whether enclosing Blocks have been reified. This prevents incorrect behavior and assertions when a JSOP_LAMBDA, JSOP_INITMETHOD pair apply the method optimization once, populating the property cache, but later the same JSOP_LAMBDA instruction does not (under the old code) apply the optimization. With this patch, if JSOP_LAMBDA pushes the uncloned function once, it always will. r=brendan.
2011-03-14 15:54:34 -05:00
Brian Hackett
300a849c3e
[INFER] Use PICs on monitored SETNAME and SETPROP, bug 621937.
2011-03-11 16:29:38 -08:00
Andreas Gal
0dc25a462f
Follow-up fix for bug 639729.
2011-03-13 19:20:06 -07:00
Brian Hackett
eaea79df6e
Merge TM -> JM
2011-03-10 09:20:42 -08:00
Brian Hackett
d639ada378
Merge TM -> JM
2011-03-09 09:58:49 -08:00
Andreas Gal
e787b97701
Sweep compartments when no objects live in them (bug 639270, r=gregor).
2011-03-08 20:58:38 -08:00
Phil Ringnalda
d21d12b55b
Back out 80d8431f209e (bug 639270) for failing to actually compile
2011-03-08 19:59:30 -08:00
Andreas Gal
033fce6c39
Sweep compartments when no objects live in them (bug 639270, r=gregor).
2011-03-08 18:10:47 -08:00
Brian Hackett
29b930888d
[INFER] Use js_malloc instead of cx->malloc for inference data made when condensing in GC, bug 619433.
2011-03-08 10:21:54 -08:00
Brian Hackett
db3ad72d5f
[INFER] Handle GCs inside eval() statements, bug 639591.
2011-03-07 18:44:21 -08:00
Jeff Walden
4dce1d9ffa
Bug 640072 - Convert properties of RegExp objects into true data properties, eliminating a use of shared-permanent properties. r=jorendorff
2011-03-05 15:29:30 -08:00
Andreas Gal
29c7365b34
Make empty shape initialization lazy (bug 639254, r=billm).
2011-03-07 18:42:04 -08:00
Brian Hackett
f868e29684
[INFER] Miscellaneous fixes to get inference passing jstests.
2011-03-04 07:50:32 -08:00
Brian Hackett
41091b1bb6
[INFER] Fix OOM handling in type inference, convert inference to runtime option, bug 637674.
2011-03-03 14:07:48 -08:00
David Mandelin
4e818e3c46
Bug 625600: Update Yarr import to WebKit rev 86639, r=cdleary,dvander
2011-05-12 18:39:47 -07:00
David Mandelin
098ec8fea9
Backed out changeset 10b4c261e3d0 -- Tracemonkey tinderbox is stricter than try
2011-05-25 08:53:26 -07:00
David Mandelin
64fee2ad60
Bug 625600: Update Yarr import to WebKit rev 86639, r=cdleary,dvander
...
--HG--
extra : rebase_source : 80887364e39608eadb947d77ff80725642e41f31
2011-05-12 18:39:47 -07:00
Igor Bukanov
e41886ec1e
bug 658510 - eliminating JSCOMPARTMENT_NEW and associated compartment initialization race. r=mrbkap
2011-05-22 12:09:28 +02:00
David Mandelin
46408c2ec4
Backed out changeset 119f17b3f03a -- still failing TB
2011-05-23 17:54:42 -07:00
David Mandelin
83c9f9dee2
Bug 625600: Update Yarr import to WebKit rev 86639, r=cdleary,dvander
2011-05-12 18:39:47 -07:00
David Mandelin
d52fa2f1b8
Backed out changeset 195f8cf8758f due to ARM bustage
2011-05-23 14:49:33 -07:00
David Mandelin
e60b7b472a
Bug 625600: Update Yarr import to WebKit rev 86639, r=cdleary,dvander
2011-05-12 18:39:47 -07:00
David Mandelin
37887345d9
Backed out changeset de6dfe16fd91 due to Linux/Mac build bustage
2011-05-23 14:22:03 -07:00
David Mandelin
f7eb07c405
Bug 625600: Update Yarr import to WebKit rev 83339, r=cdleary,dvander
2011-05-12 18:39:47 -07:00
Igor Bukanov
397237b2b1
Backed out changeset 869479a8d3c8 - patch for bug 656261 caused jsreftest failure on Windows in the browser.
2011-05-19 00:59:19 +02:00
Igor Bukanov
8f8b62c845
bug 656261 - better GC arena layout. r=wmccloskey
...
--HG--
extra : rebase_source : d6b63d38ef586c7e1d7141c8e0859fe026803a5d
2011-04-22 00:47:46 +02:00
Brian Hackett
e5020a35b3
[INFER] Condense type information during GC, bug 613221.
2011-03-01 13:10:05 -08:00
Nicholas Nethercote
6ef173ddbb
Bug 633653 - revamp about:memory. r=vlad,sdwilsh,dvander,gavin,ehsan,edwsmith; sr=benjamin.
2011-05-03 17:12:58 -07:00
Brian Hackett
0a2cdd3c56
Merge TM -> JM
2011-02-25 18:21:43 +13:00
Bill McCloskey
5ecac5c965
Bug 635873 - Fix shape marking during per-compartment GCs (r=gal,a=dmandelin)
2011-02-22 12:45:18 -08:00
Jeff Walden
7ce51759aa
Backed out changeset 4d86e63ff60d, diagnostic patch; back out 3da12edf735e, followup fix; back out bug 631135 completely, unexplained intermittent orange.
...
--HG--
extra : rebase_source : e2e56a78bc0eea0d6e005bc976c74b33d8c22281
2011-02-19 19:50:19 -08:00
Chris Leary
30ecc46b76
Bug 614155: Lazily construct toSource cache. (r=lw)
...
--HG--
extra : rebase_source : cbf922c5ce45b7d656ef3fdbd4c872a4ff82aacc
2011-03-03 15:28:25 -08:00
Jeff Walden
e604ceddc7
Bug 631135 - Objects created by or on behalf of fast natives and property ops (getters or setters) are parented to the wrong proto and global. r=lw,jst,mrbkap,bz, a=jst
2011-02-08 17:20:06 -08:00
Chris Leary
369b6ada3c
Backed out changeset 62a979cc89a2 due to risk (bug 614155).
2011-02-16 13:33:08 -08:00
Chris Leary
76e3096daf
Bug 614155: free memory for source cache on GC. (r=lw)
2011-02-16 10:17:49 -08:00
Andreas Gal
8e653a3ac9
Don't crash when reaching a non-wrapper along the proto chain of a wrapper (bug 634236, r=mrbkap).
2011-02-15 11:17:14 -08:00
Andreas Gal
37635547a6
Bug 633879 - Stop wrappers from holding old scopes alive. r=mrbkap@gmail.com,jst@mozilla.com, a=blocker
2011-02-14 14:19:36 -08:00
Bill McCloskey
42e73fa7bc
Bug 631951 - Shrink methodjit memory usage by interpreting a few times before compiling (r=dvander)
2011-02-11 16:31:32 -08:00
Chris Leary
9b75236c71
Fix --disable-methodjit build. (r=billm)
...
--HG--
extra : rebase_source : 4a76e8513611d8eb9ad16d5d3c0465692bfa4105
2011-02-11 13:45:56 -08:00
Jim Blandy
de75b9fa19
Bug 537873: Add a 'strict' argument to C++ property setter functions. r=brendan
...
This changes the type of setters to JSStrictPropertyOp, which is just like
JSPropertyOp except that it takes a 'JSBool strict' argument. Most of the
patch is introducing distinct types and using the appropriate stubs.
The following are left for subsequent patches:
x Similar fixes to the browser outside SpiderMonkey.
x Actually *using* the newly available strictness information. This patch
should have no user-visible effect. I didn't want the interesting stuff
to get lost in this noise.
2011-02-09 11:31:40 -08:00
Brian Hackett
b5bb63ceba
[INFER] Decouple type sets computed by inference from analysis information, store in new TypeScript struct, bug 621301.
2010-12-28 14:53:50 -05:00
Brian Hackett
89bb1d08e8
Merge TM -> JM
2010-12-20 09:06:43 -08:00
Brian Hackett
baf09eaede
[INFER] Objects with same shape have same type, objects with same type have same prototype, bug 619271.
2010-12-18 20:44:51 -08:00
Brian Hackett
9cac74e3d5
Periodically discard JIT code during GC, bug 617656. r=dmandelin
2010-12-17 16:33:04 -08:00
Luke Wagner
d8719356c0
Bug 609440, part 4 - make JSString::chars() fallible (r=waldo,dvander,igor,dwitte,njn)
2010-12-06 10:26:58 -08:00
Brian Hackett
fb8384eed2
[INFER] Introduce packed arrays, bug 604045.
2010-11-05 07:37:09 -07:00
Brian Hackett
d0775091ec
Merge TM -> JM
2010-11-01 15:37:33 -07:00
Robert Sayre
03513401da
Bug 595243 - Expose debugMode to JSD. Relanding test bustage fixed up. r=gal.
2010-10-30 12:13:02 -04:00