Very helpful. Thank you for adding the comments.

Mike

On Jan 16 2014, at 03:26 , Paul Sandoz <paul.san...@oracle.com> wrote:

> 
> On Jan 10, 2014, at 2:42 PM, Paul Sandoz <paul.san...@oracle.com> wrote:
>> I have also removed the inconsistently applied synchronized block. Either we 
>> apply it consistently to reporting or not at all. It was originally there 
>> because we were not sure that the "happens-before" relationship [1] between 
>> elements would be guaranteed. However, ForEachOrderedTask sets up such a 
>> relationship via completion counts to ensure leaf nodes complete in 
>> encounter order (if any) where only one leaf can be completing (which was 
>> left most leaf that was not completed), hence stamping a fence in the ground 
>> at these point seems redundant (at least i cannot see its value but could be 
>> missing something subtle).
>> 
> 
> I updated with some more comments explaining how the "happens-before" is 
> preserved:
> 
>  http://cr.openjdk.java.net/~psandoz/jdk9/JDK-8029452-ForEachOrdered/webrev/
> 
> Paul.

Reply via email to