diff options
author | Joerg Bornemann <joerg.bornemann@nokia.com> | 2009-09-08 11:48:13 (GMT) |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@nokia.com> | 2009-09-08 11:53:02 (GMT) |
commit | 89982a2c1678f2c42c9abf1021b35ed45004278c (patch) | |
tree | 5dd44c198ece51cca73fca41e561b87eca8bdb20 | |
parent | b20e6675573e26c6b9e9090bce81a4d61c9a99f5 (diff) | |
download | Qt-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
-rw-r--r-- | src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.cpp | 3 |
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); |