25 Jan 2012 11:03
Project proposal: Graal
In accordance with the OpenJDK guidelines [1], we would like to start the discussion of a new project to explore implementing a dynamic compiler in Java that can be used in a native JVM such as HotSpot as well as in a meta-circular JVM such as Maxine [2]. The goal of this project is to design a dynamic compiler in Java that produces excellent code quality without compromising compile time and memory usage by the JVM. The origin and starting point for this project would be the Graal compiler from the Maxine code base. This compiler is already integrated and runs in both HotSpot and Maxine. The Maxine wiki contains a brief history of its heritage [4]. The compiler uses a clearly defined interface [3] for interacting with the runtime of the JVM. Furthermore, it uses features of Java that make it highly extensible such that adding extra IR nodes and/or transformations is as easy as possible. In addition to performance goals, this project aims to demonstrate the advantages of writing (some of) a JVM in Java while at the same time addressing the unique challenges such an approach entails. In this sense, Graal is a narrower application of meta-circular JVM design principles as embodied in Maxine and Jikes RVM [5]. To ensure the broadest possible collaboration between potential contributors the project will maintain one or more code repositories derived from the OpenJDK HotSpot repository [6] and a developers' mailing list. The Graal code repository and developers' mailing list will be under the GPL license (GPL) version 2 with the Classpath exception and the OpenJDK Assembly Exception. Through private correspondence, we have the support and an offer of sponsorship from the lead of the HotSpot Group (Paul Hohensee). We would now like to invite anyone who supports our goal to nominate themselves as an initial supporter to be listed on the formal project proposal that will follow after the discussion. Regards, Doug Simon and Thomas Wuerthinger [1] http://openjdk.java.net/projects/#new-project [2] https://wikis.oracle.com/display/MaxineVM/Home [3] https://wikis.oracle.com/download/attachments/4161575/vee2010.pdf [4] https://wikis.oracle.com/display/MaxineVM/Graal [5] http://jikesrvm.org/ [6] http://hg.openjdk.java.net/hsx/hotspot-main/
RSS Feed