diff -r 9c2ecc2ffb12 -r 1fdb98a17101 src/share/vm/runtime/os.cpp --- a/src/share/vm/runtime/os.cpp Fri Jul 11 01:14:44 2008 -0700 +++ b/src/share/vm/runtime/os.cpp Sat Jul 19 17:38:22 2008 -0400 @@ -922,8 +922,9 @@ // time and expensive page trap spinning, 'SerializePageLock' is used to block // the mutator thread if such case is encountered. See bug 6546278 for details. Thread::muxAcquire(&SerializePageLock, "serialize_thread_states"); - os::protect_memory( (char *)os::get_memory_serialize_page(), os::vm_page_size() ); - os::unguard_memory( (char *)os::get_memory_serialize_page(), os::vm_page_size() ); + os::protect_memory((char *)os::get_memory_serialize_page(), + os::vm_page_size(), MEM_PROT_READ, /*is_committed*/true ); + os::unguard_memory((char *)os::get_memory_serialize_page(), os::vm_page_size()); Thread::muxRelease(&SerializePageLock); }