354 return !(hr->is_young());
355 }
356 #endif
357 #if INCLUDE_PARALLELGC
358 if (UseParallelGC) {
359 ParallelScavengeHeap* psh = ParallelScavengeHeap::heap();
360 return !psh->is_in_young(p);
361 }
362 #endif
363 #if INCLUDE_ZGC
364 if (UseZGC) {
365 return Universe::heap()->is_in(p);
366 }
367 #endif
368 GenCollectedHeap* gch = GenCollectedHeap::heap();
369 return !gch->is_in_young(p);
370 WB_END
371
372 WB_ENTRY(jlong, WB_GetObjectSize(JNIEnv* env, jobject o, jobject obj))
373 oop p = JNIHandles::resolve(obj);
374 return p->size() * HeapWordSize;
375 WB_END
376
377 WB_ENTRY(jlong, WB_GetHeapSpaceAlignment(JNIEnv* env, jobject o))
378 size_t alignment = Universe::heap()->collector_policy()->space_alignment();
379 return (jlong)alignment;
380 WB_END
381
382 WB_ENTRY(jlong, WB_GetHeapAlignment(JNIEnv* env, jobject o))
383 size_t alignment = Universe::heap()->collector_policy()->heap_alignment();
384 return (jlong)alignment;
385 WB_END
386
387 WB_ENTRY(jboolean, WB_SupportsConcurrentGCPhaseControl(JNIEnv* env, jobject o))
388 return Universe::heap()->supports_concurrent_phase_control();
389 WB_END
390
391 WB_ENTRY(jobjectArray, WB_GetConcurrentGCPhases(JNIEnv* env, jobject o))
392 const char* const* phases = Universe::heap()->concurrent_phases();
393 jint nphases = 0;
394 for ( ; phases[nphases] != NULL; ++nphases) ;
|
354 return !(hr->is_young());
355 }
356 #endif
357 #if INCLUDE_PARALLELGC
358 if (UseParallelGC) {
359 ParallelScavengeHeap* psh = ParallelScavengeHeap::heap();
360 return !psh->is_in_young(p);
361 }
362 #endif
363 #if INCLUDE_ZGC
364 if (UseZGC) {
365 return Universe::heap()->is_in(p);
366 }
367 #endif
368 GenCollectedHeap* gch = GenCollectedHeap::heap();
369 return !gch->is_in_young(p);
370 WB_END
371
372 WB_ENTRY(jlong, WB_GetObjectSize(JNIEnv* env, jobject o, jobject obj))
373 oop p = JNIHandles::resolve(obj);
374 return Universe::heap()->obj_size(p) * HeapWordSize;
375 WB_END
376
377 WB_ENTRY(jlong, WB_GetHeapSpaceAlignment(JNIEnv* env, jobject o))
378 size_t alignment = Universe::heap()->collector_policy()->space_alignment();
379 return (jlong)alignment;
380 WB_END
381
382 WB_ENTRY(jlong, WB_GetHeapAlignment(JNIEnv* env, jobject o))
383 size_t alignment = Universe::heap()->collector_policy()->heap_alignment();
384 return (jlong)alignment;
385 WB_END
386
387 WB_ENTRY(jboolean, WB_SupportsConcurrentGCPhaseControl(JNIEnv* env, jobject o))
388 return Universe::heap()->supports_concurrent_phase_control();
389 WB_END
390
391 WB_ENTRY(jobjectArray, WB_GetConcurrentGCPhases(JNIEnv* env, jobject o))
392 const char* const* phases = Universe::heap()->concurrent_phases();
393 jint nphases = 0;
394 for ( ; phases[nphases] != NULL; ++nphases) ;
|