<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Hi,<br>
<br>
<div class="user-content-block"> OopStorage has an artificial
restriction of having only one concurrent iterator at a time. This
restriction should be removed.<br>
<br>
The solution is to turn the bool that tracks concurrent
iterations, into an int.<br>
<br>
For some background, the reason for the restriction has historic
reasons, from a time when opening OopStorage for concurrent
iteration was done using a lock-free protocol between GC worker
threads, which made it tricky. Since then, the model was
simplified to just let the ParState RAII object open and close the
concurrent iterations. With the simplified model, there is no need
for such a restriction.<br>
<br>
I talked to Kim, and long-term there are more plans in this area,
such as removing weak_oops_do, and then unifying the iterators.
But for now, I would like to just stop disallowing multiple
concurrent iterations as one small step along the way.<br>
<br>
I updated the relevant OopStorage documentation to reflect the
removal of this restriction.<br>
</div>
<br>
Webrev:<br>
<a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~eosterlund/8211718/webrev.00/">http://cr.openjdk.java.net/~eosterlund/8211718/webrev.00/</a><br>
<br>
Bug:<br>
<a class="moz-txt-link-freetext" href="https://bugs.openjdk.java.net/browse/JDK-8211718">https://bugs.openjdk.java.net/browse/JDK-8211718</a><br>
<br>
Thanks,<br>
/Erik<br>
</body>
</html>