One more comment regarding the CME check.
2829 if (expectedCount != modCount) {
2830 throw new ConcurrentModificationException();
2831 }
While it definitely serves the purpose of "fail-fast", but given it's a
ordered/sequential
stream, this condition is always checked in the immediate next round of
tryAdvance().
Just doubt it really benefits anyone. It's true that it almost costs nothing
though.
-Sherman
On 09/09/2015 03:35 PM, Xueming Shen wrote:
Hi Stuart,
Can't modCount be increased to negative in extreme case?
2705 if (expectedCount>= 0&& expectedCount != modCount) {
2706 throw new ConcurrentModificationException();
2707 }
It'd be better to initialize expectedCount to modCount in constrocutor?
Sherman
On 09/09/2015 03:07 PM, Stuart Marks wrote:
On 9/9/15 2:32 PM, Stuart Marks wrote:
I'll change the occurrences of "pipeline execution" to "stream pipeline
execution" per your exchange with Paul. Looks like there are two such
occurrences in each of the tokens() and findAll() methods.
Er, three such occurrences.
Webrev: (final, I hope)
http://cr.openjdk.java.net/~smarks/reviews/8072722/webrev.4/
Specdiff:
http://cr.openjdk.java.net/~smarks/reviews/8072722/specdiff.4/overview-summary.html
s'marks