summaryrefslogtreecommitdiffstats
path: root/src/3rdparty
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@nokia.com>2009-09-08 11:48:13 (GMT)
committerJoerg Bornemann <joerg.bornemann@nokia.com>2009-09-08 11:53:02 (GMT)
commit89982a2c1678f2c42c9abf1021b35ed45004278c (patch)
tree5dd44c198ece51cca73fca41e561b87eca8bdb20 /src/3rdparty
parentb20e6675573e26c6b9e9090bce81a4d61c9a99f5 (diff)
downloadQt-89982a2c1678f2c42c9abf1021b35ed45004278c.zip
Qt-89982a2c1678f2c42c9abf1021b35ed45004278c.tar.gz
Qt-89982a2c1678f2c42c9abf1021b35ed45004278c.tar.bz2
fix major memory leak in JavaScriptCore RegisterFile on Windows CE
On Widows CE we must decommit all committed pages before we release them. See VirtualFree documentation. Desktop Windows behaves much smoother in this situation. Reviewed-by: ariya
Diffstat (limited to 'src/3rdparty')
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.cpp b/src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.cpp
index 29a13ca..de5175e 100644
--- a/src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.cpp
@@ -36,6 +36,9 @@ RegisterFile::~RegisterFile()
#if HAVE(MMAP)
munmap(reinterpret_cast<char*>(m_buffer), ((m_max - m_start) + m_maxGlobals) * sizeof(Register));
#elif HAVE(VIRTUALALLOC)
+#if PLATFORM(WINCE)
+ VirtualFree(m_buffer, DWORD(m_commitEnd) - DWORD(m_buffer), MEM_DECOMMIT);
+#endif
VirtualFree(m_buffer, 0, MEM_RELEASE);
#else
fastFree(m_buffer);