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