SA and JDK ( was Re: JDK8 Preliminary Repository Layout)
David.Holmes at oracle.com
Thu Mar 10 18:54:42 PST 2011
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.
More information about the build-dev