diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-06-20 13:01:08 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-06-20 13:01:08 +0200 |
commit | 49233e234e5c787396cadb2cea33b31ae0cd65c1 (patch) | |
tree | 5410cb9a8fd53168bb60d62c54b654d86f03c38d /Source/JavaScriptCore/runtime/GCActivityCallback.h | |
parent | b211c645d8ab690f713515dfdc84d80b11c27d2c (diff) | |
download | qtwebkit-49233e234e5c787396cadb2cea33b31ae0cd65c1.tar.gz |
Imported WebKit commit 3a8c29f35d00659d2ce7a0ccdfa8304f14e82327 (http://svn.webkit.org/repository/webkit/trunk@120813)
New snapshot with Windows build fixes
Diffstat (limited to 'Source/JavaScriptCore/runtime/GCActivityCallback.h')
-rw-r--r-- | Source/JavaScriptCore/runtime/GCActivityCallback.h | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/Source/JavaScriptCore/runtime/GCActivityCallback.h b/Source/JavaScriptCore/runtime/GCActivityCallback.h index 32077f2b0..18bbd31e0 100644 --- a/Source/JavaScriptCore/runtime/GCActivityCallback.h +++ b/Source/JavaScriptCore/runtime/GCActivityCallback.h @@ -29,6 +29,7 @@ #ifndef GCActivityCallback_h #define GCActivityCallback_h +#include "HeapTimer.h" #include <wtf/OwnPtr.h> #include <wtf/PassOwnPtr.h> @@ -40,47 +41,54 @@ namespace JSC { class Heap; -class GCActivityCallback { +class GCActivityCallback : public HeapTimer { public: - virtual ~GCActivityCallback() { } virtual void didAllocate(size_t) { } virtual void willCollect() { } - virtual void synchronize() { } virtual void cancel() { } bool isEnabled() const { return m_enabled; } void setEnabled(bool enabled) { m_enabled = enabled; } protected: - GCActivityCallback() - : m_enabled(true) +#if USE(CF) + GCActivityCallback(JSGlobalData* globalData, CFRunLoopRef runLoop) + : HeapTimer(globalData, runLoop) + , m_enabled(true) + { + } +# else + GCActivityCallback(JSGlobalData* globalData) + : HeapTimer(globalData) + , m_enabled(true) { } +#endif bool m_enabled; }; -struct DefaultGCActivityCallbackPlatformData; - class DefaultGCActivityCallback : public GCActivityCallback { public: static PassOwnPtr<DefaultGCActivityCallback> create(Heap*); DefaultGCActivityCallback(Heap*); - virtual ~DefaultGCActivityCallback(); virtual void didAllocate(size_t); virtual void willCollect(); - virtual void synchronize(); virtual void cancel(); + + virtual void doWork(); #if USE(CF) protected: DefaultGCActivityCallback(Heap*, CFRunLoopRef); - void commonConstructor(Heap*, CFRunLoopRef); -#endif - + + void cancelTimer(); + void scheduleTimer(double); + private: - OwnPtr<DefaultGCActivityCallbackPlatformData> d; + double m_delay; +#endif }; inline PassOwnPtr<DefaultGCActivityCallback> DefaultGCActivityCallback::create(Heap* heap) |