JOL Hotspot SA Support and Compressed References Implementation

Serkan ÖZAL serkanozal86 at hotmail.com
Sun Jan 4 14:24:08 UTC 2015


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
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: hotspot_sa_support_and_compressed-refs_impl.patch
URL: <http://mail.openjdk.java.net/pipermail/jol-dev/attachments/20150104/aabb889f/hotspot_sa_support_and_compressed-refs_impl-0001.patch>


More information about the jol-dev mailing list