Title: [193627] trunk/Source/_javascript_Core
Revision
193627
Author
gyuyoung....@webkit.org
Date
2015-12-07 08:51:14 -0800 (Mon, 07 Dec 2015)

Log Message

[EFL] Implement scheduleTimer and cancelTimer in IncrementalSweeper class
https://bugs.webkit.org/show_bug.cgi?id=151656

Reviewed by Csaba Osztrogonác.

Support IncremntalSweeper using Ecore_Timer.

* heap/IncrementalSweeper.cpp:
(JSC::IncrementalSweeper::IncrementalSweeper):
(JSC::IncrementalSweeper::scheduleTimer):
(JSC::IncrementalSweeper::cancelTimer):
* heap/IncrementalSweeper.h:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (193626 => 193627)


--- trunk/Source/_javascript_Core/ChangeLog	2015-12-07 16:24:01 UTC (rev 193626)
+++ trunk/Source/_javascript_Core/ChangeLog	2015-12-07 16:51:14 UTC (rev 193627)
@@ -1,3 +1,18 @@
+2015-12-07  Gyuyoung Kim  <gyuyoung....@webkit.org>
+
+        [EFL] Implement scheduleTimer and cancelTimer in IncrementalSweeper class
+        https://bugs.webkit.org/show_bug.cgi?id=151656
+
+        Reviewed by Csaba Osztrogonác.
+
+        Support IncremntalSweeper using Ecore_Timer.
+
+        * heap/IncrementalSweeper.cpp:
+        (JSC::IncrementalSweeper::IncrementalSweeper):
+        (JSC::IncrementalSweeper::scheduleTimer):
+        (JSC::IncrementalSweeper::cancelTimer):
+        * heap/IncrementalSweeper.h:
+
 2015-12-06  Andy VanWagoner  <thetalecraf...@gmail.com>
 
         [INTL] Implement String.prototype.toLocaleLowerCase in ECMA-402

Modified: trunk/Source/_javascript_Core/heap/IncrementalSweeper.cpp (193626 => 193627)


--- trunk/Source/_javascript_Core/heap/IncrementalSweeper.cpp	2015-12-07 16:24:01 UTC (rev 193626)
+++ trunk/Source/_javascript_Core/heap/IncrementalSweeper.cpp	2015-12-07 16:51:14 UTC (rev 193627)
@@ -35,13 +35,16 @@
 #include <wtf/HashSet.h>
 #include <wtf/WTFThreadData.h>
 
-#if USE(GLIB) && !PLATFORM(EFL)
+#if PLATFORM(EFL)
+#include <Ecore.h>
+#include <wtf/CurrentTime.h>
+#elif USE(GLIB)
 #include <glib.h>
 #endif
 
 namespace JSC {
 
-#if USE(CF) || (USE(GLIB) && !PLATFORM(EFL))
+#if USE(CF) || PLATFORM(EFL) || USE(GLIB)
 
 static const double sweepTimeSlice = .01; // seconds
 static const double sweepTimeTotal = .10;
@@ -63,6 +66,30 @@
 {
     CFRunLoopTimerSetNextFireDate(m_timer.get(), CFAbsoluteTimeGetCurrent() + s_decade);
 }
+#elif PLATFORM(EFL)
+IncrementalSweeper::IncrementalSweeper(Heap* heap)
+    : HeapTimer(heap->vm())
+    , m_blocksToSweep(heap->m_blockSnapshot)
+    , m_isTimerFrozen(false)
+{
+}
+
+void IncrementalSweeper::scheduleTimer()
+{
+    if (m_isTimerFrozen) {
+        ecore_timer_thaw(m_timer);
+        m_isTimerFrozen = false;
+    }
+
+    double targetTime = currentTime() + (sweepTimeSlice * sweepTimeMultiplier);
+    ecore_timer_interval_set(m_timer, targetTime);
+}
+
+void IncrementalSweeper::cancelTimer()
+{
+    ecore_timer_freeze(m_timer);
+    m_isTimerFrozen = true;
+}
 #elif USE(GLIB)
 IncrementalSweeper::IncrementalSweeper(Heap* heap)
     : HeapTimer(heap->vm())

Modified: trunk/Source/_javascript_Core/heap/IncrementalSweeper.h (193626 => 193627)


--- trunk/Source/_javascript_Core/heap/IncrementalSweeper.h	2015-12-07 16:24:01 UTC (rev 193626)
+++ trunk/Source/_javascript_Core/heap/IncrementalSweeper.h	2015-12-07 16:51:14 UTC (rev 193627)
@@ -49,14 +49,17 @@
     bool sweepNextBlock();
     void willFinishSweeping();
 
-#if USE(CF) || (USE(GLIB) && !PLATFORM(EFL))
+#if USE(CF) || PLATFORM(EFL) || USE(GLIB)
 private:
     void doSweep(double startTime);
     void scheduleTimer();
     void cancelTimer();
     
     Vector<MarkedBlock*>& m_blocksToSweep;
+#if PLATFORM(EFL)
+    bool m_isTimerFrozen;
 #endif
+#endif
 };
 
 } // namespace JSC
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to