RE: JavaMemoryModel: Interaction between the memory model and exceptions

From: David Holmes (
Date: Fri Apr 09 2004 - 21:01:10 EDT

Bill Pugh wrote:
> The only thing which is a little tricky here are asynchronous exceptions,
> such as ThreadDeath and OutOfMemory. Are those exceptions required to be
> precise?
> The Real-time Java people have probably looked at this in more detail.

All exceptions are required to be precise according to the JLS.

OutOfMemoryError and StackOverflowError are not asynchronous exceptions -
they can only occur synchronously in response to program actions.

The only async exceptions are those caused by Thread.stop and internal VM
errors. For the latter the correctness of the exception throw semantics
seems to pale in the face of the fact that the VM is broken.

The RTSJ folk have not, to the best of my knowledge, considered this aspect
in any detail. However, given that the RTSJ only defines uniprocessor
semantics, even the existence of truly asynchronous exceptions can be dealt

David Holmes

JavaMemoryModel mailing list -

This archive was generated by hypermail 2b29 : Thu Oct 13 2005 - 07:01:03 EDT