Log Message
[JSC][MIPS] SamplingProfiler::timerLoop() sleeps for 4000+ seconds https://bugs.webkit.org/show_bug.cgi?id=172800
Patch by Guillaume Emont <[email protected]> on 2017-06-01 Reviewed by Saam Barati. This fixes a static_cast<uint64_t> by making it a cast to int64_t instead, which looks like the original intent. This fixes the sampling-profiler tests in JSTests/stress. * runtime/SamplingProfiler.cpp: (JSC::SamplingProfiler::timerLoop):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (217662 => 217663)
--- trunk/Source/_javascript_Core/ChangeLog 2017-06-01 17:04:29 UTC (rev 217662)
+++ trunk/Source/_javascript_Core/ChangeLog 2017-06-01 17:42:23 UTC (rev 217663)
@@ -1,3 +1,17 @@
+2017-06-01 Guillaume Emont <[email protected]>
+
+ [JSC][MIPS] SamplingProfiler::timerLoop() sleeps for 4000+ seconds
+ https://bugs.webkit.org/show_bug.cgi?id=172800
+
+ Reviewed by Saam Barati.
+
+ This fixes a static_cast<uint64_t> by making it a cast to int64_t
+ instead, which looks like the original intent. This fixes the
+ sampling-profiler tests in JSTests/stress.
+
+ * runtime/SamplingProfiler.cpp:
+ (JSC::SamplingProfiler::timerLoop):
+
2017-06-01 Tomas Popela <[email protected]>, Mark Lam <[email protected]>
RELEASE_ASSERT_NOT_REACHED() in InferredType::kindForFlags() on Big-Endians
Modified: trunk/Source/_javascript_Core/runtime/SamplingProfiler.cpp (217662 => 217663)
--- trunk/Source/_javascript_Core/runtime/SamplingProfiler.cpp 2017-06-01 17:04:29 UTC (rev 217662)
+++ trunk/Source/_javascript_Core/runtime/SamplingProfiler.cpp 2017-06-01 17:42:23 UTC (rev 217663)
@@ -325,7 +325,7 @@
// with some system process such as a scheduled context switch.
// http://plv.colorado.edu/papers/mytkowicz-pldi10.pdf
double randomSignedNumber = (m_weakRandom.get() * 2.0) - 1.0; // A random number between [-1, 1).
- std::chrono::microseconds randomFluctuation = std::chrono::microseconds(static_cast<uint64_t>(randomSignedNumber * static_cast<double>(m_timingInterval.count()) * 0.20l));
+ std::chrono::microseconds randomFluctuation = std::chrono::microseconds(static_cast<int64_t>(randomSignedNumber * static_cast<double>(m_timingInterval.count()) * 0.20l));
std::this_thread::sleep_for(m_timingInterval - std::min(m_timingInterval, stackTraceProcessingTime) + randomFluctuation);
}
}
_______________________________________________ webkit-changes mailing list [email protected] https://lists.webkit.org/mailman/listinfo/webkit-changes
