From: Erik B. <eri...@gm...> - 2013-08-15 06:04:35
|
Hi, On 14.08.2013 19:03, Xi Yang wrote: > Look at Section 3.4 in Maxine: An Approachable Virtual Machine For, > and In, Java (https://wikis.oracle.com/display/MaxineVM/TACO+Journal+Paper) Thanks for the link. > I have to implement same features in Jikes to substitution of JDK > Methods. Then, I can reuse their Maxine's JDK methods. This sounds like it could be also useful for GNU Classpath. For example, we overwrite VMChannel, ReferenceQueue and VMAccessController with modified versions from libraryInterface/GNUClasspath/LGPL. What's your view on libraryInterface/Common? We currently overwrite classes such as java.lang.Class that are provided by both GNU Classpath and OpenJDK. With substitution of JDK methods implemented, would it make sense to drop these kinds of classes from libraryInterface/Common (i.e. everything expect VM* classes and sun.misc.Unsafe)? We could use substitution classes specific to each class library and extract the common code to newly-created shared classes in libraryInterface/Common. > So, the source code I reuse is limited in libraryInterface directory, > and I have to modify main Jikes too, but not using the code from > Maxine. That's good to hear. Using GPL code with (or consulting it for an implementation of) EPL code is disallowed by both licenses. We can only use GNU Classpath and the OpenJDK libraries because of the Classpath exception to the GPL. AFAIK the core codebase of Maxine does not have the Classpath exception (i.e. it is "plain" GPL). I suppose the final diff for OpenJDK support will be quite large. Unfortunately, large diffs make merging quite hard for various reasons. If you have some changes that can be merged and tested independently (e.g. related to the substition support), don't hesitate to provide patches now. I appreciate your continued work on OpenJDK support. Kind regards, Erik Brangs |