src/share/vm/prims/whitebox.cpp

Print this page




 142 WB_END
 143 
 144 // Free the memory allocated by NMTAllocTest
 145 WB_ENTRY(void, WB_NMTFree(JNIEnv* env, jobject o, jlong mem))
 146   os::free((void*)(uintptr_t)mem, mtTest);
 147 WB_END
 148 
 149 WB_ENTRY(jlong, WB_NMTReserveMemory(JNIEnv* env, jobject o, jlong size))
 150   jlong addr = 0;
 151 
 152   if (MemTracker::is_on() && !MemTracker::shutdown_in_progress()) {
 153     addr = (jlong)(uintptr_t)os::reserve_memory(size);
 154     MemTracker::record_virtual_memory_type((address)addr, mtTest);
 155   }
 156 
 157   return addr;
 158 WB_END
 159 
 160 
 161 WB_ENTRY(void, WB_NMTCommitMemory(JNIEnv* env, jobject o, jlong addr, jlong size))
 162   os::commit_memory((char *)(uintptr_t)addr, size);
 163   MemTracker::record_virtual_memory_type((address)(uintptr_t)addr, mtTest);
 164 WB_END
 165 
 166 WB_ENTRY(void, WB_NMTUncommitMemory(JNIEnv* env, jobject o, jlong addr, jlong size))
 167   os::uncommit_memory((char *)(uintptr_t)addr, size);
 168 WB_END
 169 
 170 WB_ENTRY(void, WB_NMTReleaseMemory(JNIEnv* env, jobject o, jlong addr, jlong size))
 171   os::release_memory((char *)(uintptr_t)addr, size);
 172 WB_END
 173 
 174 // Block until the current generation of NMT data to be merged, used to reliably test the NMT feature
 175 WB_ENTRY(jboolean, WB_NMTWaitForDataMerge(JNIEnv* env))
 176 
 177   if (!MemTracker::is_on() || MemTracker::shutdown_in_progress()) {
 178     return false;
 179   }
 180 
 181   return MemTracker::wbtest_wait_for_data_merge();
 182 WB_END




 142 WB_END
 143 
 144 // Free the memory allocated by NMTAllocTest
 145 WB_ENTRY(void, WB_NMTFree(JNIEnv* env, jobject o, jlong mem))
 146   os::free((void*)(uintptr_t)mem, mtTest);
 147 WB_END
 148 
 149 WB_ENTRY(jlong, WB_NMTReserveMemory(JNIEnv* env, jobject o, jlong size))
 150   jlong addr = 0;
 151 
 152   if (MemTracker::is_on() && !MemTracker::shutdown_in_progress()) {
 153     addr = (jlong)(uintptr_t)os::reserve_memory(size);
 154     MemTracker::record_virtual_memory_type((address)addr, mtTest);
 155   }
 156 
 157   return addr;
 158 WB_END
 159 
 160 
 161 WB_ENTRY(void, WB_NMTCommitMemory(JNIEnv* env, jobject o, jlong addr, jlong size))
 162   os::commit_memory((char *)(uintptr_t)addr, size, !ExecMem);
 163   MemTracker::record_virtual_memory_type((address)(uintptr_t)addr, mtTest);
 164 WB_END
 165 
 166 WB_ENTRY(void, WB_NMTUncommitMemory(JNIEnv* env, jobject o, jlong addr, jlong size))
 167   os::uncommit_memory((char *)(uintptr_t)addr, size);
 168 WB_END
 169 
 170 WB_ENTRY(void, WB_NMTReleaseMemory(JNIEnv* env, jobject o, jlong addr, jlong size))
 171   os::release_memory((char *)(uintptr_t)addr, size);
 172 WB_END
 173 
 174 // Block until the current generation of NMT data to be merged, used to reliably test the NMT feature
 175 WB_ENTRY(jboolean, WB_NMTWaitForDataMerge(JNIEnv* env))
 176 
 177   if (!MemTracker::is_on() || MemTracker::shutdown_in_progress()) {
 178     return false;
 179   }
 180 
 181   return MemTracker::wbtest_wait_for_data_merge();
 182 WB_END