Preventing Class Definitions from Compacting At GC Cycle

John Coomes John.Coomes at
Wed Nov 6 18:18:30 UTC 2013

serkan özal (serkanozal86 at wrote:
> Hi all,
> I am not sure that target of mail is this group or not but I don't know better one for asking :)

Hi Serkan,

hotspot-gc-dev at (now cc'd) is the right list.


> I am currently working on an OffHeap solution and I have a problem with "Compact" phase of GC.As I see at "Compact" phase, location of classes these not loaded by bootloader may be changed. However, location of classes these loaded by bootloader (classloaders are null) are not changed.Changing memory location of class definition fails my OffHeap solution.
> Compacting can be disabled by VM arguments but I don't want to use these arguments. Because disabling compaction for all objects causes increasing of fragmentation. In addition, I tried class pinning with JNI by "NewGlobalRef" method but it doesn't prevent compacting. As I understood, it only hides object from garbage collected.
> In brief, is there any way to prevent compacting of any specific class defition (or object) at GC cycle?Is there any bit, offset or field (such as mark_oop) in object header to prevent compacting of fully from GC for any specific object or class?
> Thanks in advance.
> --
> Serkan ÖZAL

More information about the hotspot-gc-dev mailing list