On May 17, 2004, at 12:54 PM, Jerry Schwarz wrote:
> For what it's worth, I pretty much agree with what Victor has been
> saying in this exchange, so I'll let him carry the conversation.
>
> It seems that what you're trying to say is that some thread will be
> scheduled. This is simpler than a fairness guarantee, but it's still a
> statement about scheduling.
Essentially, it gives us three guarantees:
* if there exists some thread that is able to make progress, some
thread will make progress
* compilers cannot, in general, hoist volatile reads out of potentially
infinite loops
* compilers cannot, in general, reorder synchronization actions and
externally visible actions
> As the discussion demonstrates such statements require new modes of
> reasoning and new modeling techniques. I don't think it should be
> pursued.
It is already done. It is in the current draft:
http://www.cs.umd.edu/~pugh/java/memoryModel/jsr133.pdf
I would be disappointed if the Java spec allowed violations of the
guarantees above,
and don't think these guarantees should cause any implementation
problems.
Now, we're happy to discuss whether our formulation does make those
guarantees
without imposing other undesirable mandates.
Or we can discuss whether we want those guarantees or not. But I think
we do.
And we can continue discussing the name for the action, but it really
isn't worth
the number of bits and email messages that has been expended on it.
Jeremy and Bill
-------------------------------
JavaMemoryModel mailing list - http://www.cs.umd.edu/~pugh/java/memoryModel
This archive was generated by hypermail 2b29 : Thu Oct 13 2005 - 07:01:07 EDT