summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
Diffstat (limited to 'Source')
-rw-r--r--Source/WebKit/qt/Api/qwebsettings.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/Source/WebKit/qt/Api/qwebsettings.cpp b/Source/WebKit/qt/Api/qwebsettings.cpp
index 01818aff4..88172149c 100644
--- a/Source/WebKit/qt/Api/qwebsettings.cpp
+++ b/Source/WebKit/qt/Api/qwebsettings.cpp
@@ -28,6 +28,7 @@
#include "DatabaseTracker.h"
#include "FileSystem.h"
#include "FontCache.h"
+#include "GCController.h"
#include "IconDatabase.h"
#include "Image.h"
#if ENABLE(ICONDATABASE)
@@ -805,7 +806,7 @@ QPixmap QWebSettings::webGraphic(WebGraphic type)
}
/*!
- Frees up as much memory as possible by cleaning all memory caches such
+ Frees up as much memory as possible by calling the JavaScript garbage collector and cleaning all memory caches such
as page, object and font cache.
\since 4.6
@@ -832,6 +833,11 @@ void QWebSettings::clearMemoryCaches()
// Empty the Cross-Origin Preflight cache
WebCore::CrossOriginPreflightResultCache::shared().empty();
+
+ // Drop JIT compiled code from ExecutableAllocator.
+ WebCore::gcController().discardAllCompiledCode();
+ // Garbage Collect to release the references of CachedResource from dead objects.
+ WebCore::gcController().garbageCollectNow();
}
/*!