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

List:       openjdk-serviceability-dev
Subject:    RFR(XS): 8168662: Intrinsic support for event based tracing needs explicit control dependency
From:       Markus Gronlund <markus.gronlund () oracle ! com>
Date:       2016-10-25 23:45:06
Message-ID: 3be13f1c-063d-42c4-b187-0e9d782655cf () default
[Download RAW message or body]

Greetings,

 

I recently integrated intrinsic support for event based tracing which was tracked in \
JDK-8166806 (https://bugs.openjdk.java.net/browse/JDK-8166806 ). 

Unfortunately, the changes for 8166806 led to issues seen in testing on SPARC and \
AARCH64 platforms in that the intrinsic code was missing an explicit control \
dependency for C2. On the x86 platform, it seems that there is an implicit control \
dependency that makes the original code work correctly - but on the former platforms, \
the lack of dependency allows a load to "float" up before the implicit null check \
dispatch for the uncommon trap.

 

Bug: https://bugs.openjdk.java.net/browse/JDK-8168662 

Webrev: http://cr.openjdk.java.net/~mgronlun/8168662/webrev01/ 

 

I have managed to reproduce and analyze the assembler output for SPARC with the \
updated changes (please see bug for details).

 

I would need to integrate this to resolve some testing issues, so reviews very much \
appreciated.

 

Thanks in advance and sorry for any inconveniences related to 8166806.

 

Best regards

Markus

 

PS also thanks for Nils Eliasson for assistance on this issue.


[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=us-ascii"><meta name=Generator content="Microsoft Word 12 \
(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";}
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;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:70.85pt 70.85pt 70.85pt 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 lang=SV link=blue vlink=purple><div \
class=WordSection1><p class=MsoNormal><span \
lang=EN-US>Greetings,<o:p></o:p></span></p><p class=MsoNormal><span \
lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US>I recently \
integrated intrinsic support for event based tracing which was tracked in JDK-8166806 \
(<a href="https://bugs.openjdk.java.net/browse/JDK-8166806">https://bugs.openjdk.java.net/browse/JDK-8166806</a> \
). <br><br>Unfortunately, the changes for 8166806 led to issues seen in testing on \
SPARC and AARCH64 platforms in that the intrinsic code was missing an explicit \
control dependency for C2. On the x86 platform, it seems that there is an implicit \
control dependency that makes the original code work correctly - but on the former \
platforms, the lack of dependency allows a load to &quot;float&quot; up before the \
implicit null check dispatch for the uncommon trap.<o:p></o:p></span></p><p \
class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span \
lang=EN-US>Bug: <a href="https://bugs.openjdk.java.net/browse/JDK-8168662">https://bugs.openjdk.java.net/browse/JDK-8168662</a> \
<o:p></o:p></span></p><p class=MsoNormal>Webrev: <a \
href="http://cr.openjdk.java.net/~mgronlun/8168662/webrev01/">http://cr.openjdk.java.net/~mgronlun/8168662/webrev01/</a> \
<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal><span \
lang=EN-US>I have managed to reproduce and analyze the assembler output for SPARC \
with the updated changes (please see bug for details).<o:p></o:p></span></p><p \
class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span \
lang=EN-US>I would need to integrate this to resolve some testing issues, so reviews \
very much appreciated.<o:p></o:p></span></p><p class=MsoNormal><span \
lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US>Thanks in \
advance and sorry for any inconveniences related to 8166806.<o:p></o:p></span></p><p \
class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span \
lang=EN-US>Best regards<o:p></o:p></span></p><p class=MsoNormal><span \
lang=EN-US>Markus<o:p></o:p></span></p><p class=MsoNormal><span \
lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US>PS also \
thanks for Nils Eliasson for assistance on this \
issue.<o:p></o:p></span></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