Bug 1288618 - Part 7: Initialize AbstractThread in the GPU process. r=dvander
☠☠ backed out by 8b6401bcb115 ☠ ☠
authorMatt Woodrow <mwoodrow@mozilla.com>
Wed, 21 Sep 2016 15:36:09 +1200
changeset 314687 63a9c689e1d50c981b60ffd6992c6d85b0dfe7b2
parent 314686 8f67443dccb8f733e152e7fffa07f969444ab2b1
child 314688 95f23366de82e2ce9ce846c65a17ec8fc05fa7ce
push id30732
push usercbook@mozilla.com
push dateWed, 21 Sep 2016 10:04:03 +0000
treeherdermozilla-central@560b2c805bf7 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdvander
bugs1288618
milestone52.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
Bug 1288618 - Part 7: Initialize AbstractThread in the GPU process. r=dvander
xpcom/build/XPCOMInit.cpp
--- a/xpcom/build/XPCOMInit.cpp
+++ b/xpcom/build/XPCOMInit.cpp
@@ -687,16 +687,19 @@ NS_InitXPCOM2(nsIServiceManager** aResul
 #endif
 
   // Initialize the JS engine.
   const char* jsInitFailureReason = JS_InitWithFailureDiagnostic();
   if (jsInitFailureReason) {
     NS_RUNTIMEABORT(jsInitFailureReason);
   }
   sInitializedJS = true;
+  
+  // Init AbstractThread.
+  AbstractThread::InitStatics();
 
   rv = nsComponentManagerImpl::gComponentManager->Init();
   if (NS_FAILED(rv)) {
     NS_RELEASE(nsComponentManagerImpl::gComponentManager);
     return rv;
   }
 
   if (aResult) {
@@ -710,19 +713,16 @@ NS_InitXPCOM2(nsIServiceManager** aResul
   // After autoreg, but before we actually instantiate any components,
   // add any services listed in the "xpcom-directory-providers" category
   // to the directory service.
   nsDirectoryService::gService->RegisterCategoryProviders();
 
   // Init SharedThreadPool (which needs the service manager).
   SharedThreadPool::InitStatics();
 
-  // Init AbstractThread.
-  AbstractThread::InitStatics();
-
   // Force layout to spin up so that nsContentUtils is available for cx stack
   // munging.
   nsCOMPtr<nsISupports> componentLoader =
     do_GetService("@mozilla.org/moz/jsloader;1");
 
   mozilla::scache::StartupCache::GetSingleton();
   mozilla::AvailableMemoryTracker::Activate();
 
@@ -796,16 +796,18 @@ NS_InitMinimalXPCOM()
     return rv;
   }
 
   // Global cycle collector initialization.
   if (!nsCycleCollector_init()) {
     return NS_ERROR_UNEXPECTED;
   }
 
+  AbstractThread::InitStatics();
+
   return NS_OK;
 }
 
 //
 // NS_ShutdownXPCOM()
 //
 // The shutdown sequence for xpcom would be
 //