# HG changeset patch # User never # Date 1240623914 25200 # Node ID 6ffcd0923239378f24502b94b9c9ee298705dc36 # Parent a61730a6fdbcdd12d58a715d06d0163d413f47ad# Parent fb4c18a2ec66724b469f45193ac218d140c14626 Merge diff -r fb4c18a2ec66 -r 6ffcd0923239 .hgtags --- a/.hgtags Fri Apr 24 15:08:30 2009 -0700 +++ b/.hgtags Fri Apr 24 18:45:14 2009 -0700 @@ -28,3 +28,5 @@ 2581d90c6c9b2012da930eb4742add94a03069a0 jdk7-b51 1b1e8f1a4fe8cebc01c022484f78148e17b62a0d jdk7-b52 032c6af894dae8d939b3dd31d82042549e7793e0 jdk7-b53 +fafab5d5349c7c066d677538db67a1ee0fb33bd2 jdk7-b54 +f8e839c086152da70d6ec5913ba6f9f509282e8d jdk7-b55 diff -r fb4c18a2ec66 -r 6ffcd0923239 make/jprt.properties --- a/make/jprt.properties Fri Apr 24 15:08:30 2009 -0700 +++ b/make/jprt.properties Fri Apr 24 18:45:14 2009 -0700 @@ -46,24 +46,28 @@ jprt.my.solaris.sparc.jdk6=solaris_sparc_5.8 jprt.my.solaris.sparc.jdk6perf=solaris_sparc_5.8 jprt.my.solaris.sparc.jdk6u10=solaris_sparc_5.8 +jprt.my.solaris.sparc.jdk6u14=solaris_sparc_5.8 jprt.my.solaris.sparc=${jprt.my.solaris.sparc.${jprt.tools.default.release}} jprt.my.solaris.sparcv9.jdk7=solaris_sparcv9_5.10 jprt.my.solaris.sparcv9.jdk6=solaris_sparcv9_5.8 jprt.my.solaris.sparcv9.jdk6perf=solaris_sparcv9_5.8 jprt.my.solaris.sparcv9.jdk6u10=solaris_sparcv9_5.8 +jprt.my.solaris.sparcv9.jdk6u14=solaris_sparcv9_5.8 jprt.my.solaris.sparcv9=${jprt.my.solaris.sparcv9.${jprt.tools.default.release}} jprt.my.solaris.i586.jdk7=solaris_i586_5.10 jprt.my.solaris.i586.jdk6=solaris_i586_5.8 jprt.my.solaris.i586.jdk6perf=solaris_i586_5.8 jprt.my.solaris.i586.jdk6u10=solaris_i586_5.8 +jprt.my.solaris.i586.jdk6u14=solaris_i586_5.8 jprt.my.solaris.i586=${jprt.my.solaris.i586.${jprt.tools.default.release}} jprt.my.solaris.x64.jdk7=solaris_x64_5.10 jprt.my.solaris.x64.jdk6=solaris_x64_5.10 jprt.my.solaris.x64.jdk6perf=solaris_x64_5.10 jprt.my.solaris.x64.jdk6u10=solaris_x64_5.10 +jprt.my.solaris.x64.jdk6u14=solaris_x64_5.10 jprt.my.solaris.x64=${jprt.my.solaris.x64.${jprt.tools.default.release}} jprt.my.linux.i586=linux_i586 diff -r fb4c18a2ec66 -r 6ffcd0923239 src/os/windows/vm/os_windows.cpp --- a/src/os/windows/vm/os_windows.cpp Fri Apr 24 15:08:30 2009 -0700 +++ b/src/os/windows/vm/os_windows.cpp Fri Apr 24 18:45:14 2009 -0700 @@ -2632,6 +2632,8 @@ char* os::reserve_memory_special(size_t bytes, char* addr, bool exec) { + const DWORD prot = exec ? PAGE_EXECUTE_READWRITE : PAGE_READWRITE; + if (UseLargePagesIndividualAllocation) { if (TracePageSizes && Verbose) { tty->print_cr("Reserving large pages individually."); @@ -2694,13 +2696,7 @@ p_new = (char *) VirtualAlloc(next_alloc_addr, bytes_to_rq, MEM_RESERVE | MEM_COMMIT | MEM_LARGE_PAGES, - PAGE_READWRITE); - if (p_new != NULL && exec) { - DWORD oldprot; - // Windows doc says to use VirtualProtect to get execute permissions - VirtualProtect(next_alloc_addr, bytes_to_rq, - PAGE_EXECUTE_READWRITE, &oldprot); - } + prot); } if (p_new == NULL) { @@ -2729,12 +2725,7 @@ } else { // normal policy just allocate it all at once DWORD flag = MEM_RESERVE | MEM_COMMIT | MEM_LARGE_PAGES; - char * res = (char *)VirtualAlloc(NULL, bytes, flag, PAGE_READWRITE); - if (res != NULL && exec) { - DWORD oldprot; - // Windows doc says to use VirtualProtect to get execute permissions - VirtualProtect(res, bytes, PAGE_EXECUTE_READWRITE, &oldprot); - } + char * res = (char *)VirtualAlloc(NULL, bytes, flag, prot); return res; } }