On 2016-10-27 20:18, Doug Simon wrote:
On 27 Oct 2016, at 20:12, Vladimir Kozlov <vladimir.koz...@oracle.com> wrote:

On 10/27/16 10:55 AM, Christian Thalinger wrote:
On Oct 27, 2016, at 2:40 AM, Erik Joelsson <erik.joels...@oracle.com> wrote:



On 2016-10-27 02:45, Vladimir Kozlov wrote:
AOT JEP:
https://bugs.openjdk.java.net/browse/JDK-8166089
Subtask:
https://bugs.openjdk.java.net/browse/JDK-8166416
Webrev:
http://cr.openjdk.java.net/~kvn/aot/top.webrev/
hotspot.m4: 296: Comment is misleading. Should just be removed.

CompileJavaModules.gmk: Use of -g flag for java compilation is controlled 
globally. Please remove.
There is a reason for that.  Some debugging related Graal code makes use of 
classfile information to provide better information.  Since this is Java and 
not C++ it *is* possible to have pleasant debugging experience even in product 
builds.  I want this to be there.
Chris, do we need -g for JVMCI module too for that?
I’m assuming Chris is referring to the use of debug info for snippet parameter 
names:

https://github.com/graalvm/graal-core/blob/7c94891d06f08a635367df6078696b9388332f3b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java#L191

For that use case, -g is not necessary for JVMCI. That said, I think it’s 
always useful for Java code to be compiled with -g ;-)
I'm sure most people do. To my knowledge, -g is disabled by default for footprint reasons in the JRE. This has been up for discussion before and I think the conclusion was that ideally we want -g in the JDK image but not in the JRE image. That has not been possible before (without compiling everything twice), but maybe jlink is able to strip the debug info from java classes now? In that case we could consider globally enabling -g for product builds.

For now if you have a special case for needing -g on specific modules, at the very least provide a comment explaining why. Otherwise it will just be cleaned away in the future.

/Erik

-Doug

Main.gmk: buildtools-hotspot should be declared inside the CREATING_BUILDJDK 
conditional like all other buildtools targets.

http://cr.openjdk.java.net/~kvn/aot/jdk.webrev/
The extra exports from java.base needs to go in a new 
jdk/src/java.base/share/classes/module-info.java.extra since the module 
jdk.vm.compiler is optional.
http://cr.openjdk.java.net/~kvn/aot/hs.make.webrev/
Lib-jdk.aot.gmk: Please inline LDFLAGS and LIBS and add $(LIBS_JDKLIB) to LIBS 
since that will provide -lc on Solaris automatically. No need to set 
DEBUG_SYMBOLS or STRIP_SYMBOLS as the defaults should be correct and controlled 
globally.

/Erik
Please, review build changes for AOT.  Only Linux/x64 platform is supported. 
'jaotc' and AOT part of Hotspot will be build only on Linux/x64.

Changes include new 'jaotc' launcher, makefile changes to build jdk.vm.compiler 
(Graal) and jdk.aot modules used by 'jaotc'.
Both modules sources are located in Hotspot: hotspot/src/jdk.aot and 
hotspot/src/jdk.vm.compiler.
'jaotc' requires installed libelf package on a system to build native part of 
'jaotc'. It is used to generated AOT shared libraries (.so) as result of AOT 
compilation.

Hotspot makefile changes will be pushed together with Hotspot AOT changes.

Thanks,
Vladimir

Reply via email to