Preventing Class Definitions from Compacting At GC Cycle

David Holmes david.holmes at
Mon Nov 4 01:33:40 UTC 2013

Adding hotspot-gc and (hopefully) bcc'ing the discuss list.


On 3/11/2013 5:18 AM, serkan özal 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 :)
> 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