JOL Hotspot SA Support and Compressed References Implementation

Serkan ÖZAL serkanozal86 at hotmail.com
Tue Jan 6 11:06:05 UTC 2015


Hi Aleksey,

Any comments/reviews on this patch ?

Regards.

-- 

Serkan ÖZAL
> Hi Aleksey,
>
> I have prepared a patch (sending as attahced to this mail) about for 
> embedded Hotspot SA support infrastructure and compressed reference 
> implementation on top of it for JOL.
> I implemented Hotspot SA support with no compile-time dependency to 
> "sa-jdi.jar" as we talked before. At first, required classes is 
> searched at current classpath. If not found, then looks to <JAVA_HOME>.
> If it still couldn't be found, Hotspot SA support is skipped 
> gracefully with an information message and goes on before.
>
> There is an interface named "HotspotServiceabilityAgentProcessor" for 
> executing any business logic on Hotspot SA process and all required 
> instances such as "sun.jvm.hotspot.HotSpotAgent" and 
> "sun.jvm.hotspot.HotSpotAgent" are passed to "process" method of this 
> interface typed implementation in a context instance typed 
> "HotspotServiceabilityAgentContext". All processors return their 
> result as "HotspotServiceabilityAgentResult" typed response. All 
> requests, processors and reponses are serialized/deserialized between 
> current process and Hotspot SA process via pipeline.
>
> So for possible future cases, I think we can easily use all magics of 
> Hotspot SA API and also JOL API users can implement their own Hotspot 
> SA processors and runs on our infrastructure via 
> "HotspotServiceabilityAgentSupport" class.
>
> Also, I implemented finding compressed references on top of this 
> infrastructure and integrated with "VMSupport" class.
>
> IMPORTANT NOTE:
>
> On some UNIX based operating systems and MacOSX operation system, 
> Hotspot Serviceability Agent (SA) process attach may fail due to 
> insufficient privilege. So, on these operating systems, user (runs the 
> application) must be super user and  must be already authenticated for 
> example with "sudo" command (also with password) to "/etc/sudoers" file.
>
> http://bugs.java.com/bugdatabase/view_bug.do?bug_id=7129704
> http://bugs.java.com/bugdatabase/view_bug.do?bug_id=7050524
> http://bugs.java.com/bugdatabase/view_bug.do?bug_id=7112802
> http://bugs.java.com/bugdatabase/view_bug.do?bug_id=7160774
>
>
> I hope it is OK. Waiting for your comments about patch.
>
> Regards.
>
> -- 
>
> Serkan ÖZAL


More information about the jol-dev mailing list