From 59f7a2cdb4f36f017586aa139a7fe8def39e777b Mon Sep 17 00:00:00 2001 From: wolfbeast Date: Thu, 20 Feb 2020 12:00:26 +0100 Subject: Issue #316 - Make the memory GC performance object conditional (WIP) This was only added for GCubench and likely interfering with building without devtools-server. --- js/src/gc/GCRuntime.h | 2 ++ js/src/gc/Nursery.cpp | 3 +++ js/src/jsgc.cpp | 2 ++ js/src/jsgc.h | 2 ++ js/src/shell/js.cpp | 2 ++ 5 files changed, 11 insertions(+) (limited to 'js/src') diff --git a/js/src/gc/GCRuntime.h b/js/src/gc/GCRuntime.h index f102e9ef0..f43dcd351 100644 --- a/js/src/gc/GCRuntime.h +++ b/js/src/gc/GCRuntime.h @@ -741,7 +741,9 @@ class GCRuntime void removeBlackRootsTracer(JSTraceDataOp traceOp, void* data); void setMaxMallocBytes(size_t value); +#ifdef MOZ_DEVTOOLS_SERVER int32_t getMallocBytes() const { return mallocBytesUntilGC; } +#endif void resetMallocBytes(); bool isTooMuchMalloc() const { return mallocBytesUntilGC <= 0; } void updateMallocCounter(JS::Zone* zone, size_t nbytes); diff --git a/js/src/gc/Nursery.cpp b/js/src/gc/Nursery.cpp index 93a0eb6a8..737d68bd0 100644 --- a/js/src/gc/Nursery.cpp +++ b/js/src/gc/Nursery.cpp @@ -505,7 +505,10 @@ js::Nursery::collect(JSRuntime* rt, JS::gcreason::Reason reason) if (!isEnabled()) return; +#ifdef MOZ_DEVTOOLS_SERVER + // No need to obsessively track this without devtools rt->gc.incMinorGcNumber(); +#endif rt->gc.stats.beginNurseryCollection(reason); TraceMinorGCStart(); diff --git a/js/src/jsgc.cpp b/js/src/jsgc.cpp index 5a9d732b6..4078ac0a7 100644 --- a/js/src/jsgc.cpp +++ b/js/src/jsgc.cpp @@ -6776,6 +6776,7 @@ js::gc::NextCellUniqueId(JSRuntime* rt) return rt->gc.nextCellUniqueId(); } +#ifdef MOZ_DEVTOOLS_SERVER namespace js { namespace gc { namespace MemInfo { @@ -7032,6 +7033,7 @@ AutoEmptyNursery::AutoEmptyNursery(JSRuntime *rt) } /* namespace gc */ } /* namespace js */ +#endif #ifdef DEBUG void diff --git a/js/src/jsgc.h b/js/src/jsgc.h index 952fd6bae..601f63daa 100644 --- a/js/src/jsgc.h +++ b/js/src/jsgc.h @@ -1357,8 +1357,10 @@ class ZoneList ZoneList& operator=(const ZoneList& other) = delete; }; +#ifdef MOZ_DEVTOOLS_SERVER JSObject* NewMemoryStatisticsObject(JSContext* cx); +#endif struct MOZ_RAII AutoAssertNoNurseryAlloc { diff --git a/js/src/shell/js.cpp b/js/src/shell/js.cpp index 36558a694..4b0c858a4 100644 --- a/js/src/shell/js.cpp +++ b/js/src/shell/js.cpp @@ -7090,6 +7090,7 @@ NewGlobalObject(JSContext* cx, JS::CompartmentOptions& options, if (!DefineOS(cx, glob, fuzzingSafe, &gOutFile, &gErrFile)) return nullptr; +#ifdef MOZ_DEVTOOLS_SERVER RootedObject performanceObj(cx, JS_NewObject(cx, nullptr)); if (!performanceObj) return nullptr; @@ -7105,6 +7106,7 @@ NewGlobalObject(JSContext* cx, JS::CompartmentOptions& options, return nullptr; if (!JS_DefineProperty(cx, mozMemoryObj, "gc", gcObj, JSPROP_ENUMERATE)) return nullptr; +#endif /* Initialize FakeDOMObject. */ static const js::DOMCallbacks DOMcallbacks = { -- cgit v1.2.3 From d53b11c9dc34d0a8c3bb4ad862cff1e0ce566457 Mon Sep 17 00:00:00 2001 From: wolfbeast Date: Thu, 20 Feb 2020 16:47:04 +0100 Subject: Issue #316 - Be more gentle with the CC and nursery. --- js/src/jsgc.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'js/src') diff --git a/js/src/jsgc.cpp b/js/src/jsgc.cpp index 4078ac0a7..3ad526f74 100644 --- a/js/src/jsgc.cpp +++ b/js/src/jsgc.cpp @@ -6776,9 +6776,9 @@ js::gc::NextCellUniqueId(JSRuntime* rt) return rt->gc.nextCellUniqueId(); } -#ifdef MOZ_DEVTOOLS_SERVER namespace js { namespace gc { +#ifdef MOZ_DEVTOOLS_SERVER namespace MemInfo { static bool @@ -6994,6 +6994,7 @@ NewMemoryInfoObject(JSContext* cx) return obj; } +#endif // MOZ_DEVTOOLS_SERVER const char* StateName(State state) @@ -7033,7 +7034,6 @@ AutoEmptyNursery::AutoEmptyNursery(JSRuntime *rt) } /* namespace gc */ } /* namespace js */ -#endif #ifdef DEBUG void -- cgit v1.2.3