author | Jon Coppeard <jcoppeard@mozilla.com> |
Fri, 20 Jan 2017 12:09:07 +0000 | |
changeset 330273 | 44c956b966c7e36da697fd5517450e2bc93255c3 |
parent 330272 | c077b729fc6076505fef8f3909653ebc550a086f |
child 330274 | bb868860dfc35876d2d9c421c037c75a4fb9b3d2 |
push id | 85928 |
push user | jcoppeard@mozilla.com |
push date | Fri, 20 Jan 2017 12:14:22 +0000 |
treeherder | mozilla-inbound@44c956b966c7 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | sfink |
bugs | 1332357 |
milestone | 53.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/js/src/jsfriendapi.cpp +++ b/js/src/jsfriendapi.cpp @@ -16,16 +16,17 @@ #include "jsobj.h" #include "jsprf.h" #include "jswatchpoint.h" #include "jsweakmap.h" #include "jswrapper.h" #include "builtin/Promise.h" #include "builtin/TestingFunctions.h" +#include "gc/GCInternals.h" #include "js/Proxy.h" #include "proxy/DeadObjectProxy.h" #include "vm/ArgumentsObject.h" #include "vm/Time.h" #include "vm/WrapperObject.h" #include "jsobjinlines.h" #include "jsscriptinlines.h" @@ -1158,18 +1159,24 @@ DumpHeapTracer::onChild(const JS::GCCell void js::DumpHeap(JSContext* cx, FILE* fp, js::DumpHeapNurseryBehaviour nurseryBehaviour) { if (nurseryBehaviour == js::CollectNurseryBeforeDump) cx->gc.evictNursery(JS::gcreason::API); DumpHeapTracer dtrc(fp, cx); + fprintf(dtrc.output, "# Roots.\n"); - TraceRuntime(&dtrc); + { + JSRuntime* rt = cx->runtime(); + js::gc::AutoPrepareForTracing prep(cx, WithAtoms); + gcstats::AutoPhase ap(rt->gc.stats, gcstats::PHASE_TRACE_HEAP); + rt->gc.traceRuntime(&dtrc, prep.session().lock); + } fprintf(dtrc.output, "# Weak maps.\n"); WeakMapBase::traceAllMappings(&dtrc); fprintf(dtrc.output, "==========\n"); dtrc.prefix = "> "; IterateZonesCompartmentsArenasCells(cx, &dtrc,