SA and JDK ( was Re: JDK8 Preliminary Repository Layout)

David Holmes David.Holmes at oracle.com
Fri Mar 11 02:54:42 UTC 2011


Andrew,

Just picking up on your SA comments and adding in the servicability folk 
and bcc'ing the build folk ...

Dr Andrew John Hughes said the following on 03/11/11 10:46:
> Well HotSpot is one thing I think works well as a separate repository.
> It allows us to have a stable branch for OpenJDK6 for example.  The only
> real thing that stops it being independent is the servicability agent,
> which, IME, would be better held in the JDK.  That would also mean that
> the existing rules for building java classes could be used, rather than
> reinventing it all in the HotSpot makefiles as at present.

The SA is part of Hotspot because the SA is a Java interface to the 
Hotspot internals. Hence the SA Java files have to be updated when the 
hotspot source files are, hence they must be in the same repo or we'd 
have huge coordination problems. These files reside in sa-jdi.jar

The SA classes are dependent on the com.sun.jdi interfaces/classes, so 
yes changes to JDI might require changes to the SA. But the SA is just a 
JDI client in that regard.

> I've already run across one place where this is true.  HotSpot builds
> the servicability agent with -source 1.4 -target 1.4.  Why? Because
> of incompatibilies between its implementation and the com.sun.jdi
> interfaces which require Comparable<T> not Comparable.

My understanding is that the SA classes define their own Enum type which 
conflicts with the java.lang.Enum added in 1.5. To avoid all the 
warnings this would generate, plus the raw type warnings as the SA is 
not generified, it is compiled with -source 1.4.

David



More information about the build-dev mailing list