comparison src/share/vm/prims/whitebox.cpp @ 10969:a837fa3d3f86

8013057: assert(_needs_gc || SafepointSynchronize::is_at_safepoint()) failed: only read at safepoint Summary: Detect mmap() commit failures in Linux and Solaris os::commit_memory() impls and call vm_exit_out_of_memory(). Add os::commit_memory_or_exit(). Also tidy up some NMT accounting and some mmap() return value checking. Reviewed-by: zgu, stefank, dholmes, dsamersoff
author dcubed
date Thu, 13 Jun 2013 11:16:38 -0700
parents f54c85acc043
children f99558245e5c
comparison
equal deleted inserted replaced
10405:f2110083203d 10969:a837fa3d3f86
157 return addr; 157 return addr;
158 WB_END 158 WB_END
159 159
160 160
161 WB_ENTRY(void, WB_NMTCommitMemory(JNIEnv* env, jobject o, jlong addr, jlong size)) 161 WB_ENTRY(void, WB_NMTCommitMemory(JNIEnv* env, jobject o, jlong addr, jlong size))
162 os::commit_memory((char *)(uintptr_t)addr, size); 162 os::commit_memory((char *)(uintptr_t)addr, size, !ExecMem);
163 MemTracker::record_virtual_memory_type((address)(uintptr_t)addr, mtTest); 163 MemTracker::record_virtual_memory_type((address)(uintptr_t)addr, mtTest);
164 WB_END 164 WB_END
165 165
166 WB_ENTRY(void, WB_NMTUncommitMemory(JNIEnv* env, jobject o, jlong addr, jlong size)) 166 WB_ENTRY(void, WB_NMTUncommitMemory(JNIEnv* env, jobject o, jlong addr, jlong size))
167 os::uncommit_memory((char *)(uintptr_t)addr, size); 167 os::uncommit_memory((char *)(uintptr_t)addr, size);