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