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
|