Title: [217663] trunk/Source/_javascript_Core
Revision
217663
Author
[email protected]
Date
2017-06-01 10:42:23 -0700 (Thu, 01 Jun 2017)

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

Reply via email to