Commit Graph

144 Commits

Author SHA1 Message Date
Andrew McCreight
dade4af252 Bug 1155303 - Add telemetry for async DeferredFinalize max pause. r=smaug 2015-05-18 11:54:00 -04:00
Terrence Cole
71589e5cf0 Bug 1167453 - Rename JSGCTraceKind and make it a C++11 enum class; r=jonco 2015-05-22 10:40:24 -07:00
Terrence Cole
3ffd505617 Bug 1164602 - Replace js::NullPtr and JS::NullPtr with nullptr_t; r=sfink 2015-05-13 14:07:34 -07:00
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