Commit Graph

121 Commits

Author SHA1 Message Date
Jason Orendorff
fcfd80cfc5 Merge from TM. Huge merge. Stack changes from bug 656462. 2011-06-15 16:14:09 -05:00
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
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
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
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
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
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
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
Luke Wagner
67af97e094 Bug 656462, part 3 - Syntactic touchups (r=waldo)
--HG--
extra : rebase_source : 7a81c352a96b9e23fc8f7bee5cb1d095c5cdb998
2011-05-24 16:08:40 -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
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
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
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
Jeff Walden
484a36371d Bug 640503 - Convert new String().length to use a regular data property and not a shared-permanent property-op getter/setter. r=jorendorff
--HG--
extra : rebase_source : 06bb9b53c0498d20b3afc6e558096c2398559602
2011-03-13 20:38:34 -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
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
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
Bill McCloskey
0f733168cb Bug 569422 - Allocate js::Shape from the GC heap (r=brendan) 2011-03-23 11:57:44 -07: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
ec6e3d3332 Backed out changeset 39de74c74b20, which is causing the browser to leak windows. 2011-03-14 17:37:04 -05: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
Andreas Gal
0dc25a462f Follow-up fix for bug 639729. 2011-03-13 19:20:06 -07:00
Nicholas Nethercote
7115ff9cf1 Bug 639743 - JM: clean up Executable{Pool,Allocator} some more, 1/6. r=dvander. 2011-03-09 19:10:41 -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