<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hi Poonam,<br>
<br>
Great, I think it looks good, and really look forward to having this
ability to fine-tune what we verify, rather than being so
heavyweight about it!<br>
<br>
I just noticed: should_verify_subset("heap") and <span class="new">should_verify_subset("c-heap")
are going to clash? If you specify c-heap, you'll trigger both
verifications as strstr finds "heap" in there? Do you want to
change heap to java-heap, or maybe use java_heap and c_heap (if
you want to use underscores to be consistent with symbol_table,
string_table), or something else to make them not clash?<br>
<br>
<br>
</span>(As we discussed over email briefly, another possibility was
splitting the given argument string on commas, doing our string
comparisons once only during argument processing somewhere, and
populating a long of flag bits, so Universe::verify() just checks
for presence of bits, rather than comparing lots of characters. The
speed isn't a particular worry right now so your very readable
string comparisons do the job!)<br>
<br>
Thanks<br>
Kevin<br>
<br>
<br>
<blockquote cite="mid:568AC126.1000402@oracle.com" type="cite">
<div class="moz-forward-container"><br>
-------- Original Message --------
<table class="moz-email-headers-table" border="0"
cellpadding="0" cellspacing="0">
<tbody>
<tr>
<th align="RIGHT" nowrap="nowrap" valign="BASELINE">Subject:
</th>
<td>Re: RFR: JDK-8072725: Provide more granular levels for
GC verification</td>
</tr>
<tr>
<th align="RIGHT" nowrap="nowrap" valign="BASELINE">Date:
</th>
<td>Wed, 23 Dec 2015 09:53:21 -0800</td>
</tr>
<tr>
<th align="RIGHT" nowrap="nowrap" valign="BASELINE">From:
</th>
<td>Jon Masamitsu <a moz-do-not-send="true"
class="moz-txt-link-rfc2396E"
href="mailto:jon.masamitsu@oracle.com"><jon.masamitsu@oracle.com></a></td>
</tr>
<tr>
<th align="RIGHT" nowrap="nowrap" valign="BASELINE">Organization:
</th>
<td>Oracle Corporation</td>
</tr>
<tr>
<th align="RIGHT" nowrap="nowrap" valign="BASELINE">To: </th>
<td><a moz-do-not-send="true"
class="moz-txt-link-abbreviated"
href="mailto:hotspot-gc-dev@openjdk.java.net">hotspot-gc-dev@openjdk.java.net</a></td>
</tr>
</tbody>
</table>
<br>
<br>
<meta content="text/html; charset=utf-8"
http-equiv="Content-Type">
<br>
<br>
<div class="moz-cite-prefix">On 12/23/2015 9:26 AM, Poonam Bajaj
Parhar wrote:<br>
</div>
<blockquote cite="mid:567AD949.204@oracle.com" type="cite">
<meta content="text/html; charset=utf-8"
http-equiv="Content-Type">
Hello Jon,<br>
<br>
I have added a testcase to test the VerifySubSet option:<br>
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://cr.openjdk.java.net/%7Epoonam/8072725/webrev.01/">http://cr.openjdk.java.net/~poonam/8072725/webrev.01/</a><br>
<br>
Here, I run the test with one set of VerifySubSet options, and
then check the output that those sub-systems were verified and
the ones not specified were not verified.<br>
</blockquote>
<br>
Excellent. Thanks for adding the test.<br>
<br>
Reviewed.<br>
<br>
Jon<br>
<br>
<blockquote cite="mid:567AD949.204@oracle.com" type="cite"> <br>
Thanks,<br>
Poonam<br>
<br>
<div class="moz-cite-prefix">On 12/22/2015 7:43 AM, Jon
Masamitsu wrote:<br>
</div>
<blockquote cite="mid:56796FB8.5040302@oracle.com" type="cite">
<meta content="text/html; charset=utf-8"
http-equiv="Content-Type">
<br>
<br>
<div class="moz-cite-prefix">On 12/21/2015 4:40 PM, Poonam
Bajaj Parhar wrote:<br>
</div>
<blockquote cite="mid:56789BED.3020304@oracle.com"
type="cite">
<meta content="text/html; charset=utf-8"
http-equiv="Content-Type">
Hello Jon,<br>
<br>
<div class="moz-cite-prefix">On 12/21/2015 2:29 PM, Jon
Masamitsu wrote:<br>
</div>
<blockquote cite="mid:56787D5B.50806@oracle.com"
type="cite">
<meta content="text/html; charset=utf-8"
http-equiv="Content-Type">
<font face="Times New Roman, Times, serif">Poonam,<br>
<br>
Some of the string list parameters allow separation by
, or " ". Did<br>
you consider adding that?<br>
<br>
</font></blockquote>
<font face="Times New Roman, Times, serif">The </font>VerifySubSet
string list can accept the strings separated by comma or a
space. Before verification, we just need to check if a
particular subset is present in the VerifySubSet list or
not. We don't need any complicated processing of the
strings list here.<br>
</blockquote>
<br>
Ok. Thanks for the explanation.<br>
<br>
You mention in the RFR that you have a simple test to test
the<br>
change. Can you add that as a jtreg test? I'm thinking
about<br>
something like<br>
<br>
test/gc/TestVerifyDuringStartup.java<br>
test/gc/TestVerifySilently.java<br>
<br>
Jon<br>
<br>
<blockquote cite="mid:56789BED.3020304@oracle.com"
type="cite"> <br>
Thanks,<br>
Poonam<br>
<br>
<blockquote cite="mid:56787D5B.50806@oracle.com"
type="cite"><font face="Times New Roman, Times, serif">
Jon<br>
<br>
PS. See share/vm/compiler/compilerDirectives.cpp<br>
<br>
ccstrlist
DirectiveSet::canonicalize_disableintrinsic(ccstrlist
option_value)<br>
<br>
</font><br>
<div class="moz-cite-prefix">On 12/15/2015 03:15 PM,
Poonam Bajaj Parhar wrote:<br>
</div>
<blockquote cite="mid:56709EF7.9020003@oracle.com"
type="cite">
<meta http-equiv="content-type" content="text/html;
charset=utf-8">
Hello,<br>
<br>
Please review these changes that split up the work
done under Verify*GC options. This will be very useful
in debugging GC issues/crashes where verifying the
whole memory system with Verify*GC options slows down
the process and makes it impossible to reproduce the
problem.<br>
<br>
The changes introduce a new option <i>VerifySubSet</i><i>
</i>that can be used to specify the specific memory
sub-systems that one wants to verify. It can be one or
more of the sub-systems from these: threads, heap,
symbol_table, string_table, codecache, dictionary,
classloader_data_graph, metaspace, jni_handles,
c-heap and codecache_oops. If nothing is specified
with <i>VerifySubSet</i> then whole of the memory
system is verified with Verify*GC options.<br>
<br>
Bug:<a moz-do-not-send="true" class="issue-link"
data-issue-key="JDK-8072725"
href="https://bugs.openjdk.java.net/browse/JDK-8072725"
id="key-val" rel="4767373"> JDK-8072725:</a> Provide
more granular levels for GC verification<br>
Webrev: <a moz-do-not-send="true"
class="moz-txt-link-freetext"
href="http://cr.openjdk.java.net/%7Epoonam/8072725/webrev.00/">http://cr.openjdk.java.net/~poonam/8072725/webrev.00/</a><br>
Testing: JPRT, tested the changes with a simple test
program.<br>
<br>
Thanks,<br>
Poonam<br>
<br>
<br>
<br>
<br>
</blockquote>
<br>
</blockquote>
<br>
</blockquote>
<br>
</blockquote>
<br>
</blockquote>
<br>
<br>
</div>
<br>
</blockquote>
<br>
</body>
</html>