Backout change b371db089894 (bug 1138620) due to backout of bug 970307.
☠☠ backed out by 305a36426c75 ☠ ☠
authorCervantes Yu <cyu@mozilla.com>
Tue, 19 May 2015 14:31:20 +0800
changeset 244488 daa19810f688c3b01b765ce41355d13d8c376dc7
parent 244487 78b19f9f8da8aa8efab397ad1a98f5a376f2d878
child 244489 1b09d2b41795102dbe40e0a7330e72f6b5a6ceb0
push id28782
push userkwierso@gmail.com
push dateTue, 19 May 2015 23:42:58 +0000
treeherdermozilla-central@ac277e615f8f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1138620, 970307
milestone41.0a1
backs outb371db0898943674968815abf05bd555e4d70785
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
Backout change b371db089894 (bug 1138620) due to backout of bug 970307.
xpcom/threads/nsIThreadManager.idl
xpcom/threads/nsThreadManager.cpp
xpcom/threads/nsThreadManager.h
--- a/xpcom/threads/nsIThreadManager.idl
+++ b/xpcom/threads/nsIThreadManager.idl
@@ -8,17 +8,17 @@
 
 [ptr] native PRThread(PRThread);
 
 interface nsIThread;
 
 /**
  * An interface for creating and locating nsIThread instances.
  */
-[scriptable, uuid(04092259-4498-4c82-ac52-f9225eb114d0)]
+[scriptable, uuid(1be89eca-e2f7-453b-8d38-c11ba247f6f3)]
 interface nsIThreadManager : nsISupports
 {
   /**
    * Default number of bytes reserved for a thread's stack, if no stack size
    * is specified in newThread(). 0 means use platform default.
    */
   const unsigned long DEFAULT_STACK_SIZE = 0;
 
@@ -60,16 +60,9 @@ interface nsIThreadManager : nsISupports
    */
   readonly attribute nsIThread currentThread;
 
   /**
    * This attribute is true if the calling thread is the main thread of the
    * application process.
    */
   readonly attribute boolean isMainThread;
-
-  /**
-   * Informs the thread manager to not monitor the status of the current thread.
-   * This method only works on platforms with Nuwa enabled; on other platforms,
-   * it throws an error.
-   */
-  [noscript] void setIgnoreThreadStatus();
 };
--- a/xpcom/threads/nsThreadManager.cpp
+++ b/xpcom/threads/nsThreadManager.cpp
@@ -425,28 +425,23 @@ nsThreadManager::GetIsMainThread(bool* a
 
 uint32_t
 nsThreadManager::GetHighestNumberOfThreads()
 {
   OffTheBooksMutexAutoLock lock(mLock);
   return mHighestNumberOfThreads;
 }
 
-NS_IMETHODIMP
+#ifdef MOZ_NUWA_PROCESS
+void
 nsThreadManager::SetIgnoreThreadStatus()
 {
-#ifdef MOZ_NUWA_PROCESS
   GetCurrentThreadStatusInfo()->mIgnored = true;
-  return NS_OK;
-#else
-  return NS_ERROR_NOT_IMPLEMENTED;
-#endif
 }
 
-#ifdef MOZ_NUWA_PROCESS
 void
 nsThreadManager::SetThreadIdle(nsIRunnable **aReturnRunnable)
 {
   SetThreadIsWorking(GetCurrentThreadStatusInfo(), false, aReturnRunnable);
 }
 
 void
 nsThreadManager::SetThreadWorking()
--- a/xpcom/threads/nsThreadManager.h
+++ b/xpcom/threads/nsThreadManager.h
@@ -67,16 +67,18 @@ public:
 
   // This needs to be public in order to support static instantiation of this
   // class with older compilers (e.g., egcs-2.91.66).
   ~nsThreadManager()
   {
   }
 
 #ifdef MOZ_NUWA_PROCESS
+  void SetIgnoreThreadStatus();
+
   // |SetThreadWorking| and |SetThreadIdle| set status of thread that is
   // currently running. They get thread status information from TLS and pass
   // the information to |SetThreadIsWorking|.
   void SetThreadIdle(nsIRunnable** aReturnRunnable);
   void SetThreadWorking();
 
   // |SetThreadIsWorking| is where is status actually changed. Thread status
   // information is passed as a argument so caller must obtain the structure