Commit Graph

291 Commits

Author SHA1 Message Date
Boris Zbarsky
a97eec0c4d Bug 1087330. Make the data structure we use for our promise microtask queue have O(1) first element removal, not O(N). r=khuey 2015-05-01 22:33:01 -04:00
Nick Fitzgerald
1bff429b82 Bug 1158257 - Gecko should always provide SpiderMonkey with a debuggerMallocSizeOf; r=mccr8 2015-04-27 10:58:24 -07:00
Brian Hackett
c85e5fa58f Bug 1155033 - Handle cyclic or deep ObjectGroup tracing chains during cycle collection, r=terrence. 2015-04-24 18:22:15 -06:00
Nick Fitzgerald
2fe8def5ff Bug 1150253 - Part 2: Gecko should provide a callback for SpiderMonkey to
enqueue the onGarbageCollection hook runnable; r=mccr8
2015-04-22 09:43:02 -07:00
Terrence Cole
4d9465e2f8 Bug 1153959 - Use RAII to manage tracing details; r=jonco 2015-04-10 13:33:56 -07:00
Andrew McCreight
b8e81cfabf Bug 1154403 - Reduce incremental finalize slice time to 5ms. r=smaug 2015-04-15 08:04:00 +02:00
David Rajchenbach-Teller
b4a506bb8a Bug 1083361 - Exposing a PromiseDebugging API to monitor uncaught DOM Promise. r=bz 2015-04-10 17:27:57 +02:00
Terrence Cole
654fac3ac0 Bug 1135985 - Split callback and marking tracers completely; r=jonco, r=mccr8 2015-02-25 13:11:37 -08:00
Ehsan Akhgari
ea41d8de48 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Daniel Holbert
ddb04a0443 Bug 1142841: Convert all nsRefPtr<nsIRunnable> to nsCOMPtr<nsIRunnable>. r=ehsan
This patch was generated by a script.  Here's the source of the script for
future reference:

find . \( -iname "*.cpp" -o -iname "*.h" \) | \
  xargs -n 1 sed -i "s/nsRefPtr<nsIRunnable>/nsCOMPtr<nsIRunnable>/g"
2015-03-17 09:29:17 -07:00
Andrew McCreight
370383538c Bug 1114804 - Make ISupports use the standard deferred finalizer code. r=peterv 2015-03-10 08:35:47 -07:00
Boris Zbarsky
78e8ce1375 Bug 1131805 part 1. Remove remaining JS_GetParent and js::GetObjectParent uses in Gecko. r=bholley 2015-03-06 16:33:31 -05:00
Boris Zbarsky
b21ea40fde Bug 928336. Make defining unforgeable properties on objects faster by just copying them from an unforgeable holder object. r=peterv 2015-03-03 21:01:58 -05:00
Andrew McCreight
3a0ee13fb6 Bug 1125005 - Change the reentrance assertion in IncrementalFinalizeRunnable to a warning. r=smaug 2015-02-06 09:54:21 -08:00
Andrew McCreight
07277e0d3b Bug 1118044, part 2 - Use GCCellPtr in NoteJSChild. r=smaug,terrence
Also, strongly type the JS_TraceShapeCycleCollectorChildren function, and add an
isShape() method to GCCellPtr.
2015-01-08 15:30:54 -08:00
Andrew McCreight
4791e268dc Bug 1118044, part 1 - Use GCCellPtr in CycleCollectedJSRuntime::TraverseGCThing. r=smaug 2015-01-08 15:30:54 -08:00
Andrew McCreight
755c13f279 Backout bug 1052793 for exposing bad decommitting behavior for compartmental GCs. 2015-01-08 09:54:13 -08:00
Jon Coppeard
3b4496654e Bug 1099152 - Make external GC APIs take invocation kind as a parameter r=terrence r=mccr8 2015-01-02 17:19:43 +00:00
Steven Michaud
fbcd5e325e Bug 997908 - crash in ReleaseSliceNow(unsigned int, void*) accessing memory at 0x5a5a5a5a5a5a5a5a, another test patch. r=continuation 2014-12-19 17:26:13 -06:00
Terrence Cole
f2467a2fa0 Bug 1105069 - Part 17: Convert xpc_IsGrayGCThing to GCCellPtr; r=mccr8, j=jonco 2014-12-05 09:38:34 -08:00
Terrence Cole
f9209afd94 Bug 1105069 - Part 14: Convert NoteJSChild to GCCellPtr; r=mccr8, r=jonco 2014-12-05 09:38:34 -08:00
Andrew McCreight
464b3de34d Bug 1052793 - Do per-zone GC for CC_WAITING triggers. r=smaug 2014-12-13 21:17:35 -08:00
Terrence Cole
bd524ef64a Bug 1105069 - Part 12: Convert VisitGrayWrapperTargets to GCCellPtr; r=jonco, r=mccr8 2014-12-05 09:38:33 -08:00
Terrence Cole
a68c5287d6 Bug 1105069 - Part 11: Convert UnmarkGrayGCThingRecursively to GCCellPtr; r=jonco, r=mccr8 2014-12-05 09:38:33 -08:00
Terrence Cole
556a5d11b7 Bug 1105069 - Part 10: Convert NoteWeakMapping to GCCellPtr; r=jonco, r=mccr8 2014-12-05 09:38:32 -08:00
Terrence Cole
b720455f79 Bug 1105069 - Part 9: Strongly type NoteWeakMapChildrenTracer; r=mccr8 2014-12-05 09:38:32 -08:00
Terrence Cole
dd9f2d339a Bug 1105069 - Part 8: Remove implicit cast from GCCellPtr to js::gc::Cell*; r=jonco, r=mccr8 2014-12-01 22:34:25 -08:00
Terrence Cole
dd1ab48817 Bug 1105069 - Part 7: Convert WeakMapTracer to use GCCellPtr; r=jonco, r=mccr8 2014-12-01 15:06:38 -08:00
Terrence Cole
e77315a10a Bug 1105069 - Part 1: Move GCTraceKind from jspubtd to TraceAPI; r=jonco, r=mccr8 2014-12-01 14:49:07 -08:00
Olli Pettay
9e9d4cc116 Bug 1107775 - Make deferred finalization more re-entrant safe, r=mccr8 2014-12-05 08:53:00 -08:00
Carsten "Tomcat" Book
666a0ba7f0 Backed out changeset 81bec89d093b (bug 1107775) for Valgrind and other test failures 2014-12-05 08:19:28 +01:00
Olli Pettay
436e28e9b9 Bug 1107775 - Make deferred finalization more re-entrant safe, r=mccr8 2014-12-04 21:59:30 -08:00
Carsten "Tomcat" Book
f812ad3c69 Backed out changeset 73c4111cab17 (bug 1083361) for bustage 2014-11-20 09:51:03 +01:00
David Rajchenbach-Teller
c74221f2c7 Bug 1083361 - Exposing a PromiseDebugging API to monitor uncaught DOM Promise. r=bz 2014-11-19 14:31:06 +01:00
Steven Michaud
45240a2b69 Bug 1091801 - fix inline assembly constraints; r=froydnj, a=Tomcat 2014-10-29 08:47:18 -04:00
Steven Michaud
6709df95e8 Bug 997908 - crash in ReleaseSliceNow(unsigned int, void*) accessing memory at 0x5a5a5a5a5a5a5a5a, test patch. r=nfroyd 2014-10-29 21:50:29 -05:00
Paolo Amadini
5ee237abd0 Bug 1013625 - Process Promise resolution runnables outside of main event queue. r=bz,khuey 2014-10-28 12:08:19 +00:00
Birunthan Mohanathas
6e9ec233ed Bug 1046841 - Fix more style violations in previously touched .cpp files in xpcom/. r=froydnj 2014-08-25 12:17:15 -07:00
Jon Coppeard
04b6fb5783 Bug 1052388 - Rename JS_CallHeapFooTracer() functions to JS_CallFooTracer() r=terrence r=smaug 2014-08-13 10:05:22 +01:00
Nicholas Nethercote
663b82ea3b Bug 1050009 - Initialize pldhash tables with a length, not a capacity. r=roc.
* * *
imported patch rm-dummy-params
2014-08-06 06:31:21 -07:00
Andrew McCreight
bd0781fe91 Bug 1037510, part 1 - Add nursery size as a parameter of CycleCollectedJSRuntime. r=khuey 2014-07-29 15:38:14 -07:00
Ehsan Akhgari
c60f82c778 Bug 1045065 - Fix some bad implicit constructors in xpcom; r=froydnj 2014-07-28 13:19:06 -04:00
Jan de Mooij
bcc76546cb Bug 1034689 part 2 - Add AssignJSFlatString and use it. r=bz,terrence 2014-07-12 09:43:06 +02:00
Jon Coppeard
39b2ea2a0c Bug 1034621 - Make it possible to configure nursery size r=terrence 2014-07-11 09:59:05 +01:00
Boris Zbarsky
915cd8690c Bug 1033157. Move the setup of the JSRuntime DOM callbacks into the CycleCollectedJSRuntime constructor, so we don't have to separatedly do it for workers, windows, and xpcshell. r=khuey 2014-07-02 15:16:42 -04:00
Jason Orendorff
aa5af229d2 Bug 645416, part 3 - Symbol layout and GC support for allocating them. r=terrence.
Layout: js/src/vm/Symbol.h defines the new class JS::Symbol. JS::Symbol is the
same size as JSString on all platforms, because the allocator does not support
smaller allocations.

Allocation: Since the purpose of symbols is to serve as property keys, they are
always allocated in the atoms compartment.

We take a lock when allocating. This could probably be replaced with a
main-thread-only assertion. However, if atom allocation is not already a
bottleneck, symbol allocation probably never will be.

Symbols are given their own finalize-class in the GC. This means we allocate a
page per zone for symbols, even though they are only ever allocated in the
atoms zone. Terrence thought this could be easily fixed later. It should be; we
never touch the page, but a 32-bit virtual address space does not just have
infinite pages to spare.

A jsapi-test exercises the new symbol allocation code. A few oddities in
jsapi-tests are fixed in passing.

Discussion after review led to some new assertions about minimum object size in
AllocateObject and AllocateNonObject.
2014-06-23 10:55:51 -05:00
Eric Faust
570830c1d0 Bug 1011660 - Remove separate DOMClass struct. (r=bz) 2014-06-18 13:19:19 -07:00
Olli Pettay
c1a2a3211c Bug 1020622 - Trace black windows' (webidl) event listeners, r=mccr8 2014-06-05 02:48:50 +03:00
Brian Hackett
e728e57b23 Bug 941805 - Use helper thread pool in all runtimes in a process, r=billm. 2014-05-29 13:06:23 -06:00
Jason Orendorff
3ca6f0f1e3 Follow-up to bug 987995, rev ca1f7ae987ee, to fix builds without MOZ_CRASHREPORTER. r=red on a CLOSED TREE. 2014-05-29 13:41:54 -05:00