RFR(XL) 8166417: Integrate Graal-core into JDK for AOT compiler
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Thu Dec 8 12:50:38 UTC 2016
On 2016-12-07 23:10, Vladimir Kozlov wrote:
> It is part of JEP 295: Ahead-of-Time Compilation
* In CompileJavaModules.gmk, there is an *extreme* list of excludes. I
note that most of them end in ".test". The proper solution to this is to
move the test code to the test/ directory instead of the src/ directory.
Also, four of them are the javac processor build tools. These should
move to make/src, as other build tools.
* In hotspot.m4: AC_MSG_CHECKING must always be matched by a
AC_MSG_RESULT, even before AC_MSG_ERROR, otherwise the output will be
* In hotspot.m4: The test to determine if we should set INCLUDE_GRAAL is
incorrect. It only tests for the default value, not for the explicitely
set (i.e., HOTSPOT_CHECK_JVM_FEATURE(graal)).
* The file hotspot/make/Tools.gmk is broken ("ifeq ($(ENABLE_AOT),
true)" will never evaluate to true). But on the other hand, it is not
needed, and should just be removed. :-)
* The file hotspot/src/jdk.vm.compiler/share/classes/overview.html seems
a bit dangling. Is this supposed to be included in some Javadoc
generation? The html file refers to a projects.jpg and projects.html
that does not exist. Maybe it should just be removed?
* Finally, just for the record, I too think the source should be
structured according to the OpenJDK praxis. (But I won't fight about this.)
> This is formal review request for integration Graal-core sources into
> OpenJDK. AOT compiler uses Graal-core as backend compiler. We need to
> integrated Graal-core sources into JDK and add build changes to build
> Graal module.
> Note, changes are based on latest jdk9/hs sources which do not have
> latest jigsaw update yet. With jigsaw update small changes will be
> done to module-info.java.extra in java.base:
> exports jdk.internal.misc to jdk.vm.compiler;
> + opens jdk.internal.misc to jdk.vm.compiler;
> - exports com.sun.crypto.provider to jdk.vm.compiler;
> + opens com.sun.crypto.provider to jdk.vm.compiler;
> And changes in top make/GensrcModuleInfo.gmk will not be needed.
> Graal is a dynamic compiler written in Java that integrates with the
> HotSpot JVM. It has a focus on high performance and extensibility. In
> addition, it provides optimized performance for Truffle based
> languages running on the JVM.
> Oracle Labs is developing and maintaining it.
> Here are people who contributed into Graal development (sorry if
> someone is missing or misspelled, please speak):
> ~70k LOC: Douglas Simon
> ~60k LOC: Lukas Stadler
> ~30k LOC: Thomas Wuerthinger
> ~30k LOC: Tom Rodriguez
> ~30k LOC: Roland Schatz
> ~30k LOC: Josef Eisl
> ~30k LOC: Christian Wimmer
> ~16k LOC: Chris Thalinger
> ~13k LOC: Gilles Duboscq
> ~11k LOC: David Leopoldseder
> ~ 8k LOC: Stefan Anzinger
> ~ 8k LOC: Christian Humer
> Other contributors >100 LOC in approximate order of contribution size:
> Michael Berg, Bernhard Urban, Miguel Garcia, Yudi Zheng, Christos
> Kotselidis, Andreas Woess, Stefan Rumzucker, Aleksandar Prokopec,
> Christian Haeubl, Morris Meyer, Matthias Grimmer, Erik Eckstein, Josef
> Haider, Manuel Rigger, Michael Haupt, Niclas Adlertz, Jaroslav Tulach,
> Chris Seaton, Peter B. Kessler, Christian Wirth, Benoit Daloze.
More information about the build-dev