Looks good. Was it mainly for the system class loader that this turned out to be a problem because of the<br>very large number of classes it loads, although of course the linear walk can result in quadratic lookup<br>complexity which makes it bad in general. (The other thing would be to have the set be a tree (or a skip list),<br>
splitting by some key such as full class name. Anyway, OK to throw away the frequent assertion checking for now.)<br><br>-- ramki<br><br><div class="gmail_quote">On Thu, Sep 20, 2012 at 11:36 AM, Jon Masamitsu <span dir="ltr"><<a href="mailto:jon.masamitsu@oracle.com" target="_blank">jon.masamitsu@oracle.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">7199923: NPG: tools/javac/T7093325.java timeout<br>
<br>
The method has_defined() checks that a class is in<br>
the classloader's list of classes. has_defined() was<br>
used in an assertion when doing marking and<br>
adjusting of pointers in a class. Doing that check<br>
for every class spends too much time looking<br>
down the list of a classloader's classes.<br>
<br>
<a href="http://cr.openjdk.java.net/%7Ejmasa/7199923/webrev.00/" target="_blank">http://cr.openjdk.java.net/~<u></u>jmasa/7199923/webrev.00/</a><br>
<br>
I'd like to get this back for testing tonight so my<br>
apologies if I cut short the review period.  Please<br>
send your comments in any event and I'll fix<br>
any problems in a second CR.<br>
</blockquote></div><br>