Mercurial > hg > truffle
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); |