Re: JavaMemoryModel: Unexpected weakness/divergence in old JVM spec of final fields

From: Sylvia Else (sylviae@optushome.com.au)
Date: Sun Dec 28 2003 - 18:06:10 EST


At 12:55 AM 28/12/2003, Bill Pugh wrote:
Option 1:
>We continue as planned, bring the restrictions on final fields in bytecode
>in sync with those in the JLS (e.g., every final field must be written to
>exactly once in a constructor, or in the static initializer for final
>static fields).

As things stand it is possible to generate classes that have a public API
that includes a concept that does not exist in the language - write
protected fields. I am uncomfortable with this - either the language should
encompass it, or it should not be possible. I would be surprised if much
code gets broken by option 1.

On that, albeit not tightly reasoned, basis I favour this option. Maybe
early versions of JVMs implementing JSR133 could provide a compatability
option to allow an orderly repair of any code then deemed defective.

Sylvia.

-------------------------------
JavaMemoryModel mailing list - http://www.cs.umd.edu/~pugh/java/memoryModel



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