[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-serviceability-dev
Subject:    RE: RFR(S) 8230677: Should disable Escape Analysis if JVMTI capability can_get_owned_monitor_info wa
From:       "Reingruber, Richard" <richard.reingruber () sap ! com>
Date:       2019-09-26 14:40:53
Message-ID: VI1PR02MB4829548B2A3DFAA161BE462E9B860 () VI1PR02MB4829 ! eurprd02 ! prod ! outlook ! com
[Download RAW message or body]

[Attachment #2 (text/plain)]

Thank you, Dan and Serguei.

Richard.

From: serguei.spitsyn@oracle.com <serguei.spitsyn@oracle.com>
Sent: Donnerstag, 26. September 2019 16:33
To: daniel.daugherty@oracle.com; Reingruber, Richard <richard.reingruber@sap.com>; \
Vladimir Kozlov <vladimir.kozlov@oracle.com>; David Holmes <david.holmes@oracle.com>; \
                hotspot-compiler-dev@openjdk.java.net; \
                serviceability-dev@openjdk.java.net
Subject: Re: RFR(S) 8230677: Should disable Escape Analysis if JVMTI capability \
can_get_owned_monitor_info was taken

I'm okay with that too.

Thanks,
Serguei

On 9/26/19 07:30, Daniel D. Daugherty wrote:
I'm good with the testing that you've done. Thanks for closing the loop.
Serguei?

Dan

On 9/26/19 3:36 AM, Reingruber, Richard wrote:
Hi Dan and Serguei,

The change went through our nightly testing a few times, which includes these tests \
and many more on all platforms.

Thanks, Richard.

From: serguei.spitsyn@oracle.com<mailto:serguei.spitsyn@oracle.com> \
                <serguei.spitsyn@oracle.com><mailto:serguei.spitsyn@oracle.com>
Sent: Mittwoch, 25. September 2019 19:10
To: daniel.daugherty@oracle.com<mailto:daniel.daugherty@oracle.com>; Reingruber, \
Richard <richard.reingruber@sap.com><mailto:richard.reingruber@sap.com>; Vladimir \
Kozlov <vladimir.kozlov@oracle.com><mailto:vladimir.kozlov@oracle.com>; David Holmes \
<david.holmes@oracle.com><mailto:david.holmes@oracle.com>; \
hotspot-compiler-dev@openjdk.java.net<mailto:hotspot-compiler-dev@openjdk.java.net>; \
                serviceability-dev@openjdk.java.net<mailto:serviceability-dev@openjdk.java.net>
                
Subject: Re: RFR(S) 8230677: Should disable Escape Analysis if JVMTI capability \
can_get_owned_monitor_info was taken

Hi Dan and Richard,

The JVMTI and JDI tests are:
  vmTestbase_nsk_jvmti, vmTestbase_nsk_jdi and jdk_jdi

The tests locations are:
  open/test/hotspot/jtreg/vmTestbase/nsk/jvmti
  open/test/hotspot/jtreg/vmTestbase/nsk/jdi
  open/test/jdk/com/sun/jdi

I think, they all have to be in the hs-tier5-rt.

Thanks,
Serguei


On 9/25/19 07:32, Daniel D. Daugherty wrote:
Based on the review thread, it looks like Richard has run Tier1 tests on
this change. I don't think there are any JVM/TI tests in Tier1. I'm not
sure how much compiler testing is done in Tier1, but I do know that the
compiler stress testing doesn't kick in until the later tiers (Tier5 or
Tier6)...

Serguei, with your JVM/TI hat on, what kind of additional testing (if any)
do you think we need here?

Dan


On 9/25/19 6:20 AM, Reingruber, Richard wrote:
Thank you Vladimir and also David and Serguei for your Reviews.

   > May be add comment that it is onload capability and can't be changed during \
execution.

Done.

I'll be out-of-office next week. Will push when coming back.

Thanks, Richard.

-----Original Message-----
From: Vladimir Kozlov <vladimir.kozlov@oracle.com><mailto:vladimir.kozlov@oracle.com>
Sent: Dienstag, 24. September 2019 21:04
To: Reingruber, Richard \
<richard.reingruber@sap.com><mailto:richard.reingruber@sap.com>; \
hotspot-compiler-dev@openjdk.java.net<mailto:hotspot-compiler-dev@openjdk.java.net>; \
                serviceability-dev@openjdk.java.net<mailto:serviceability-dev@openjdk.java.net>
                
Subject: Re: RFR(S) 8230677: Should disable Escape Analysis if JVMTI capability \
can_get_owned_monitor_info was taken

I read discussion and this change looks good to me.

May be add comment that it is onload capability and can't be changed during \
execution.

Thanks,
Vladimir

On 9/6/19 7:24 AM, Reingruber, Richard wrote:
Hi,

could I please get reviews for

Webrev: http://cr.openjdk.java.net/~rrich/webrevs/2019/8230677/webrev.0/
Bug:    https://bugs.openjdk.java.net/browse/JDK-8230677

The JVMTI functions GetOwnedMonitorInfo() and GetOwnedMonitorStackDepthInfo() can be \
used to retrieve objects locked by a thread. In terms of escape analysis those \
references escape and optimizations like scalar replacement become invalid.

The runtime currently cannot cope with objects escaping through JVMTI (try included
tests). Therefore escape analysis should be disabled if an agent requests the \
capabilities can_get_owned_monitor_info or can_get_owned_monitor_stack_depth_info.

This was taken out of JDK-8227745 [1] to make it smaller. With JDK-8227745 there's no \
need to disable escape analysis, instead optimizations based on escape analysis will \
be reverted just before objects escape through JVMTI.

I've run tier1 tests.

Thanks, Richard.

[1] https://bugs.openjdk.java.net/browse/JDK-8227745


[Attachment #3 (text/html)]

<html xmlns:v="urn:schemas-microsoft-com:vml" \
xmlns:o="urn:schemas-microsoft-com:office:office" \
xmlns:w="urn:schemas-microsoft-com:office:word" \
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" \
xmlns="http://www.w3.org/TR/REC-html40"> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;
	color:black;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
tt
	{mso-style-priority:99;
	font-family:"Courier New";}
p.msonormal0, li.msonormal0, div.msonormal0
	{mso-style-name:msonormal;
	mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;
	color:black;}
span.EmailStyle19
	{mso-style-type:personal-reply;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor="white" lang="DE" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" \
style="color:windowtext;mso-fareast-language:EN-US">Thank you, Dan and \
Serguei.<o:p></o:p></span></p> <p class="MsoNormal"><span lang="EN-US" \
style="color:windowtext;mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p> <p \
class="MsoNormal"><span lang="EN-US" \
style="color:windowtext;mso-fareast-language:EN-US">Richard.<o:p></o:p></span></p> <p \
class="MsoNormal"><span lang="EN-US" \
style="mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p> <div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" \
style="color:windowtext">From:</span></b><span lang="EN-US" style="color:windowtext"> \
serguei.spitsyn@oracle.com &lt;serguei.spitsyn@oracle.com&gt; <br>
<b>Sent:</b> Donnerstag, 26. September 2019 16:33<br>
<b>To:</b> daniel.daugherty@oracle.com; Reingruber, Richard \
&lt;richard.reingruber@sap.com&gt;; Vladimir Kozlov \
&lt;vladimir.kozlov@oracle.com&gt;; David Holmes &lt;david.holmes@oracle.com&gt;; \
hotspot-compiler-dev@openjdk.java.net; serviceability-dev@openjdk.java.net<br> \
<b>Subject:</b> Re: RFR(S) 8230677: Should disable Escape Analysis if JVMTI \
capability can_get_owned_monitor_info was taken<o:p></o:p></span></p> </div>
</div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<p class="MsoNormal">I'm okay with that too.<br>
<br>
Thanks,<br>
Serguei<br>
<br>
On 9/26/19 07:30, Daniel D. Daugherty wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal" style="margin-bottom:12.0pt"><tt><span \
style="font-size:10.0pt">I'm good with the testing that you've done. Thanks for \
closing the loop.</span></tt><span style="font-size:10.0pt;font-family:&quot;Courier \
New&quot;"><br> <tt>Serguei?</tt><br>
<br>
<tt>Dan</tt><br>
<br>
</span><o:p></o:p></p>
<div>
<p class="MsoNormal">On 9/26/19 3:36 AM, Reingruber, Richard wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span \
lang="EN-US">Hi Dan and Serguei,</span><o:p></o:p></p> <p class="MsoNormal" \
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span \
lang="EN-US">&nbsp;</span><o:p></o:p></p> <p class="MsoNormal" \
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">The \
change went through our nightly testing a few times, which includes these tests and \
many more on all platforms.</span><o:p></o:p></p> <p class="MsoNormal" \
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span \
lang="EN-US">&nbsp;</span><o:p></o:p></p> <p class="MsoNormal" \
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">Thanks, \
Richard.</span><o:p></o:p></p> <p class="MsoNormal" \
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span \
lang="EN-US">&nbsp;</span><o:p></o:p></p> <div>
<div>
<p class="MsoNormal" \
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span \
lang="EN-US">From:</span></b><span lang="EN-US"> <a \
href="mailto:serguei.spitsyn@oracle.com">serguei.spitsyn@oracle.com</a> <a \
href="mailto:serguei.spitsyn@oracle.com"> &lt;serguei.spitsyn@oracle.com&gt;</a> <br>
<b>Sent:</b> Mittwoch, 25. September 2019 19:10<br>
<b>To:</b> <a href="mailto:daniel.daugherty@oracle.com">daniel.daugherty@oracle.com</a>; \
Reingruber, Richard <a \
href="mailto:richard.reingruber@sap.com">&lt;richard.reingruber@sap.com&gt;</a>; \
Vladimir Kozlov <a href="mailto:vladimir.kozlov@oracle.com">&lt;vladimir.kozlov@oracle.com&gt;</a>; \
David Holmes <a href="mailto:david.holmes@oracle.com">&lt;david.holmes@oracle.com&gt;</a>; \
<a href="mailto:hotspot-compiler-dev@openjdk.java.net"> \
hotspot-compiler-dev@openjdk.java.net</a>; <a \
href="mailto:serviceability-dev@openjdk.java.net"> \
serviceability-dev@openjdk.java.net</a><br> <b>Subject:</b> Re: RFR(S) 8230677: \
Should disable Escape Analysis if JVMTI capability can_get_owned_monitor_info was \
taken</span><o:p></o:p></p> </div>
</div>
<p class="MsoNormal" \
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">&nbsp;<o:p></o:p></p> \
<div> <p class="MsoNormal" \
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Hi Dan and Richard,<br> \
<br> The JVMTI and JDI tests are:<br>
&nbsp; vmTestbase_nsk_jvmti, vmTestbase_nsk_jdi and jdk_jdi<br>
<br>
The tests locations are:<br>
&nbsp; open/test/hotspot/jtreg/vmTestbase/nsk/jvmti<br>
&nbsp; open/test/hotspot/jtreg/vmTestbase/nsk/jdi<br>
&nbsp; open/test/jdk/com/sun/jdi<br>
<br>
I think, they all have to be in the hs-tier5-rt.<br>
<br>
Thanks,<br>
Serguei<br>
<br>
<br>
On 9/25/19 07:32, Daniel D. Daugherty wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt">Based on \
the review thread, it looks like Richard has run Tier1 tests on <br>
this change. I don't think there are any JVM/TI tests in Tier1. I'm not <br>
sure how much compiler testing is done in Tier1, but I do know that the <br>
compiler stress testing doesn't kick in until the later tiers (Tier5 or <br>
Tier6)... <br>
<br>
Serguei, with your JVM/TI hat on, what kind of additional testing (if any) <br>
do you think we need here? <br>
<br>
Dan <br>
<br>
<br>
On 9/25/19 6:20 AM, Reingruber, Richard wrote: <o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt">Thank you \
Vladimir and also David and Serguei for your Reviews. <br>
<br>
&nbsp;&nbsp; &gt; May be add comment that it is onload capability and can't be \
changed during execution. <br>
<br>
Done. <br>
<br>
I'll be out-of-office next week. Will push when coming back. <br>
<br>
Thanks, Richard. <br>
<br>
-----Original Message----- <br>
From: Vladimir Kozlov <a \
href="mailto:vladimir.kozlov@oracle.com">&lt;vladimir.kozlov@oracle.com&gt;</a> <br>
Sent: Dienstag, 24. September 2019 21:04 <br>
To: Reingruber, Richard <a \
href="mailto:richard.reingruber@sap.com">&lt;richard.reingruber@sap.com&gt;</a>; <a \
href="mailto:hotspot-compiler-dev@openjdk.java.net">hotspot-compiler-dev@openjdk.java.net</a>;
 <a href="mailto:serviceability-dev@openjdk.java.net">serviceability-dev@openjdk.java.net</a>
 <br>
Subject: Re: RFR(S) 8230677: Should disable Escape Analysis if JVMTI capability \
can_get_owned_monitor_info was taken <br>
<br>
I read discussion and this change looks good to me. <br>
<br>
May be add comment that it is onload capability and can't be changed during \
execution. <br>
<br>
Thanks, <br>
Vladimir <br>
<br>
On 9/6/19 7:24 AM, Reingruber, Richard wrote: <o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Hi,
<br>
<br>
could I please get reviews for <br>
<br>
Webrev: <a href="http://cr.openjdk.java.net/~rrich/webrevs/2019/8230677/webrev.0/">
http://cr.openjdk.java.net/~rrich/webrevs/2019/8230677/webrev.0/</a> <br>
Bug:&nbsp;&nbsp;&nbsp; <a \
href="https://bugs.openjdk.java.net/browse/JDK-8230677">https://bugs.openjdk.java.net/browse/JDK-8230677</a>
 <br>
<br>
The JVMTI functions GetOwnedMonitorInfo() and GetOwnedMonitorStackDepthInfo() can be \
used to <br>
retrieve objects locked by a thread. In terms of escape analysis those references \
escape and <br>
optimizations like scalar replacement become invalid. <br>
<br>
The runtime currently cannot cope with objects escaping through JVMTI (try included
<br>
tests). Therefore escape analysis should be disabled if an agent requests the \
capabilities <br>
can_get_owned_monitor_info or can_get_owned_monitor_stack_depth_info. <br>
<br>
This was taken out of JDK-8227745 [1] to make it smaller. With JDK-8227745 there's no \
need to <br>
disable escape analysis, instead optimizations based on escape analysis will be \
reverted just before <br>
objects escape through JVMTI. <br>
<br>
I've run tier1 tests. <br>
<br>
Thanks, Richard. <br>
<br>
[1] <a href="https://bugs.openjdk.java.net/browse/JDK-8227745">https://bugs.openjdk.java.net/browse/JDK-8227745</a>
 <o:p></o:p></p>
</blockquote>
</blockquote>
<p class="MsoNormal" \
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">&nbsp;<o:p></o:p></p> \
</blockquote> <p class="MsoNormal" \
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">&nbsp;<o:p></o:p></p> \
</div> </blockquote>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</blockquote>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</body>
</html>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic