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