Title: [236906] trunk/Source/_javascript_Core
Revision
236906
Author
[email protected]
Date
2018-10-07 09:21:56 -0700 (Sun, 07 Oct 2018)

Log Message

[JSC][Linux] Use non-truncated name for JIT workers in Linux
https://bugs.webkit.org/show_bug.cgi?id=190339

Reviewed by Mark Lam.

The current thread names are meaningless in Linux environment. We do not want to
have truncated name in Linux: we want to have clear name in Linux. Instead, we
should have the name for Linux separately from the name used in the non-Linux
environments. This patch adds FTLWorker, DFGWorker, and JITWorker names for
Linux environment.

* dfg/DFGWorklist.cpp:
(JSC::DFG::createWorklistName):
(JSC::DFG::Worklist::Worklist):
(JSC::DFG::Worklist::create):
(JSC::DFG::ensureGlobalDFGWorklist):
(JSC::DFG::ensureGlobalFTLWorklist):
* dfg/DFGWorklist.h:
* jit/JITWorklist.cpp:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (236905 => 236906)


--- trunk/Source/_javascript_Core/ChangeLog	2018-10-07 16:14:50 UTC (rev 236905)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-10-07 16:21:56 UTC (rev 236906)
@@ -1,5 +1,27 @@
 2018-10-07  Yusuke Suzuki  <[email protected]>
 
+        [JSC][Linux] Use non-truncated name for JIT workers in Linux
+        https://bugs.webkit.org/show_bug.cgi?id=190339
+
+        Reviewed by Mark Lam.
+
+        The current thread names are meaningless in Linux environment. We do not want to
+        have truncated name in Linux: we want to have clear name in Linux. Instead, we
+        should have the name for Linux separately from the name used in the non-Linux
+        environments. This patch adds FTLWorker, DFGWorker, and JITWorker names for
+        Linux environment.
+
+        * dfg/DFGWorklist.cpp:
+        (JSC::DFG::createWorklistName):
+        (JSC::DFG::Worklist::Worklist):
+        (JSC::DFG::Worklist::create):
+        (JSC::DFG::ensureGlobalDFGWorklist):
+        (JSC::DFG::ensureGlobalFTLWorklist):
+        * dfg/DFGWorklist.h:
+        * jit/JITWorklist.cpp:
+
+2018-10-07  Yusuke Suzuki  <[email protected]>
+
         Name Heap threads
         https://bugs.webkit.org/show_bug.cgi?id=190337
 

Modified: trunk/Source/_javascript_Core/dfg/DFGWorklist.cpp (236905 => 236906)


--- trunk/Source/_javascript_Core/dfg/DFGWorklist.cpp	2018-10-07 16:14:50 UTC (rev 236905)
+++ trunk/Source/_javascript_Core/dfg/DFGWorklist.cpp	2018-10-07 16:21:56 UTC (rev 236906)
@@ -174,8 +174,17 @@
     RefPtr<Plan> m_plan;
 };
 
-Worklist::Worklist(CString worklistName)
-    : m_threadName(toCString(worklistName, " Worker Thread"))
+static CString createWorklistName(CString&& tierName)
+{
+#if OS(LINUX)
+    return toCString(WTFMove(tierName), "Worker");
+#else
+    return toCString(WTFMove(tierName), " Worklist Worker Thread");
+#endif
+}
+
+Worklist::Worklist(CString&& tierName)
+    : m_threadName(createWorklistName(WTFMove(tierName)))
     , m_lock(Box<Lock>::create())
     , m_planEnqueued(AutomaticThreadCondition::create())
     , m_numberOfActiveThreads(0)
@@ -211,9 +220,9 @@
     m_threads.append(WTFMove(data));
 }
 
-Ref<Worklist> Worklist::create(CString worklistName, unsigned numberOfThreads, int relativePriority)
+Ref<Worklist> Worklist::create(CString&& tierName, unsigned numberOfThreads, int relativePriority)
 {
-    Ref<Worklist> result = adoptRef(*new Worklist(worklistName));
+    Ref<Worklist> result = adoptRef(*new Worklist(WTFMove(tierName)));
     result->finishCreation(numberOfThreads, relativePriority);
     return result;
 }
@@ -561,7 +570,7 @@
 {
     static std::once_flag initializeGlobalWorklistOnceFlag;
     std::call_once(initializeGlobalWorklistOnceFlag, [] {
-        theGlobalDFGWorklist = &Worklist::create("DFG Worklist", getNumberOfDFGCompilerThreads(), Options::priorityDeltaOfDFGCompilerThreads()).leakRef();
+        theGlobalDFGWorklist = &Worklist::create("DFG", getNumberOfDFGCompilerThreads(), Options::priorityDeltaOfDFGCompilerThreads()).leakRef();
     });
     return *theGlobalDFGWorklist;
 }
@@ -577,7 +586,7 @@
 {
     static std::once_flag initializeGlobalWorklistOnceFlag;
     std::call_once(initializeGlobalWorklistOnceFlag, [] {
-        theGlobalFTLWorklist = &Worklist::create("FTL Worklist", getNumberOfFTLCompilerThreads(), Options::priorityDeltaOfFTLCompilerThreads()).leakRef();
+        theGlobalFTLWorklist = &Worklist::create("FTL", getNumberOfFTLCompilerThreads(), Options::priorityDeltaOfFTLCompilerThreads()).leakRef();
     });
     return *theGlobalFTLWorklist;
 }

Modified: trunk/Source/_javascript_Core/dfg/DFGWorklist.h (236905 => 236906)


--- trunk/Source/_javascript_Core/dfg/DFGWorklist.h	2018-10-07 16:14:50 UTC (rev 236905)
+++ trunk/Source/_javascript_Core/dfg/DFGWorklist.h	2018-10-07 16:21:56 UTC (rev 236906)
@@ -47,7 +47,7 @@
 
     ~Worklist();
     
-    static Ref<Worklist> create(CString worklistName, unsigned numberOfThreads, int relativePriority = 0);
+    static Ref<Worklist> create(CString&& tierName, unsigned numberOfThreads, int relativePriority = 0);
     
     void enqueue(Ref<Plan>&&);
     
@@ -82,7 +82,7 @@
     unsigned setNumberOfThreads(unsigned, int);
     
 private:
-    Worklist(CString worklistName);
+    Worklist(CString&& tierName);
     void finishCreation(unsigned numberOfThreads, int);
     void createNewThread(const AbstractLocker&, int);
     

Modified: trunk/Source/_javascript_Core/jit/JITWorklist.cpp (236905 => 236906)


--- trunk/Source/_javascript_Core/jit/JITWorklist.cpp	2018-10-07 16:14:50 UTC (rev 236905)
+++ trunk/Source/_javascript_Core/jit/JITWorklist.cpp	2018-10-07 16:21:56 UTC (rev 236906)
@@ -108,7 +108,11 @@
 
     const char* name() const override
     {
+#if OS(LINUX)
+        return "JITWorker";
+#else
         return "JIT Worklist Helper Thread";
+#endif
     }
     
 protected:
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to