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: