From 009c9dd2f82445de79cfedf03ddd8d321df9b69b 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/jsgc.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'js/src/jsgc.cpp') 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 -- cgit v1.2.3 From 201be4d8fcd78484ad2132d16fd5c06448a41aca 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/jsgc.cpp') 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 From 0d1eea2ebfcf1a3746ff0125a6fa340e8b90d722 Mon Sep 17 00:00:00 2001 From: wolfbeast Date: Sun, 23 Feb 2020 19:43:47 +0100 Subject: Revert #1091 Remove unboxed object code phase 1 + extras. This should be the last code backout for this. merging this branch should get us back to the way we were (+ additional code changes for later changes) as fasr as the unused unboxed code is concerned. --- js/src/jsgc.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'js/src/jsgc.cpp') diff --git a/js/src/jsgc.cpp b/js/src/jsgc.cpp index 3ad526f74..64573b55a 100644 --- a/js/src/jsgc.cpp +++ b/js/src/jsgc.cpp @@ -6176,6 +6176,12 @@ gc::MergeCompartments(JSCompartment* source, JSCompartment* target) for (auto group = source->zone()->cellIter(); !group.done(); group.next()) { group->setGeneration(target->zone()->types.generation); group->compartment_ = target; + + // Remove any unboxed layouts from the list in the off thread + // compartment. These do not need to be reinserted in the target + // compartment's list, as the list is not required to be complete. + if (UnboxedLayout* layout = group->maybeUnboxedLayoutDontCheckGeneration()) + layout->detachFromCompartment(); } // Fixup zone pointers in source's zone to refer to target's zone. -- cgit v1.2.3