Reviewers: Søren Gjesse,

Description:
Merge virtual allocation randomization fix to 2.3 branch. The randomization made
us commit unused memory.

Please review this at http://codereview.chromium.org/3927002/show

SVN Base: http://v8.googlecode.com/svn/branches/2.3/

Affected files:
  M     src/platform-win32.cc
  M     src/version.cc


Index: src/platform-win32.cc
===================================================================
--- src/platform-win32.cc       (revision 5668)
+++ src/platform-win32.cc       (working copy)
@@ -845,14 +845,15 @@
                    bool is_executable) {
   // The address range used to randomize RWX allocations in OS::Allocate
   // Try not to map pages into the default range that windows loads DLLs
+  // Use a multiple of 64k to prevent committing unused memory.
   // Note: This does not guarantee RWX regions will be within the
   // range kAllocationRandomAddressMin to kAllocationRandomAddressMax
 #ifdef V8_HOST_ARCH_64_BIT
   static const intptr_t kAllocationRandomAddressMin = 0x0000000080000000;
-  static const intptr_t kAllocationRandomAddressMax = 0x000004FFFFFFFFFF;
+  static const intptr_t kAllocationRandomAddressMax = 0x000003FFFFFF0000;
 #else
   static const intptr_t kAllocationRandomAddressMin = 0x04000000;
-  static const intptr_t kAllocationRandomAddressMax = 0x4FFFFFFF;
+  static const intptr_t kAllocationRandomAddressMax = 0x3FFF0000;
 #endif

   // VirtualAlloc rounds allocated size to page size automatically.
Index: src/version.cc
===================================================================
--- src/version.cc      (revision 5668)
+++ src/version.cc      (working copy)
@@ -35,7 +35,7 @@
 #define MAJOR_VERSION     2
 #define MINOR_VERSION     3
 #define BUILD_NUMBER      11
-#define PATCH_LEVEL       19
+#define PATCH_LEVEL       20
 #define CANDIDATE_VERSION false

 // Define SONAME to have the SCons build the put a specific SONAME into the


--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev

Reply via email to