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