Bug 1479673 - Update to sixgill with less CSU qualification (630e2025191d), r=me
authorSteve Fink <sfink@mozilla.com>
Fri, 06 Jul 2018 12:05:21 -0700
changeset 489823 8a07eed99ca8315b5b275eec185561172f9e3ffe
parent 489822 1c5c021b7271da663ed9631de95a842ac83fede1
child 489824 77ada590e04777dd99d3632cdcd2ed34ea5d4268
push id247
push userfmarier@mozilla.com
push dateSat, 27 Oct 2018 01:06:44 +0000
reviewersme
bugs1479673
milestone64.0a1
Bug 1479673 - Update to sixgill with less CSU qualification (630e2025191d), r=me
js/src/gc/GC.cpp
js/src/gc/RootMarking.cpp
taskcluster/scripts/misc/build-gcc-sixgill-plugin-linux.sh
--- a/js/src/gc/GC.cpp
+++ b/js/src/gc/GC.cpp
@@ -1886,16 +1886,17 @@ GCRuntime::setObjectsTenuredCallback(JSO
 {
     tenuredCallback.op = callback;
     tenuredCallback.data = data;
 }
 
 void
 GCRuntime::callObjectsTenuredCallback()
 {
+    JS::AutoSuppressGCAnalysis nogc;
     if (tenuredCallback.op) {
         tenuredCallback.op(rt->mainContextFromOwnThread(), tenuredCallback.data);
     }
 }
 
 bool
 GCRuntime::addFinalizeCallback(JSFinalizeCallback callback, void* data)
 {
--- a/js/src/gc/RootMarking.cpp
+++ b/js/src/gc/RootMarking.cpp
@@ -77,16 +77,20 @@ static inline void
 TraceStackRoots(JSTracer* trc, JS::RootedListHeads& stackRoots)
 {
 #define TRACE_ROOTS(name, type, _) \
     TraceExactStackRootList<type*>(trc, stackRoots[JS::RootKind::name], "exact-" #name);
 JS_FOR_EACH_TRACEKIND(TRACE_ROOTS)
 #undef TRACE_ROOTS
     TraceExactStackRootList<jsid>(trc, stackRoots[JS::RootKind::Id], "exact-id");
     TraceExactStackRootList<Value>(trc, stackRoots[JS::RootKind::Value], "exact-value");
+
+    // ConcreteTraceable calls through a function pointer.
+    JS::AutoSuppressGCAnalysis nogc;
+
     TraceExactStackRootList<ConcreteTraceable>(
         trc, stackRoots[JS::RootKind::Traceable], "Traceable");
 }
 
 void
 JS::RootingContext::traceStackRoots(JSTracer* trc)
 {
     TraceStackRoots(trc, stackRoots_);
--- a/taskcluster/scripts/misc/build-gcc-sixgill-plugin-linux.sh
+++ b/taskcluster/scripts/misc/build-gcc-sixgill-plugin-linux.sh
@@ -17,17 +17,17 @@ data_dir=$HOME_DIR/src/build/unix/build-
 
 # Download and unpack upstream toolchain artifacts (ie, the gcc binary).
 . $(dirname $0)/tooltool-download.sh
 
 gcc_version=6.4.0
 gcc_ext=xz
 binutils_version=2.28.1
 binutils_ext=xz
-sixgill_rev=ab06fc42cf0f
+sixgill_rev=630e2025191d
 sixgill_repo=https://hg.mozilla.org/users/sfink_mozilla.com/sixgill
 
 . $data_dir/build-gcc.sh
 
 pushd $root_dir/gcc-$gcc_version
 ln -sf ../binutils-2.28.1 binutils
 ln -sf ../gmp-5.1.3 gmp
 ln -sf ../isl-0.15 isl