<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jun 16, 2017, at 9:15 AM, Vladimir Kozlov <<a href="mailto:vladimir.kozlov@oracle.com" class="">vladimir.kozlov@oracle.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">What do you mean CMS does not affect code generation?<br class=""><br class=""><a href="http://hg.openjdk.java.net/jdk9/dev/hotspot/file/232d93f11c49/src/share/vm/opto/graphKit.cpp#l3861" class="">http://hg.openjdk.java.net/jdk9/dev/hotspot/file/232d93f11c49/src/share/vm/opto/graphKit.cpp#l3861</a><br class=""></div></div></blockquote><div><br class=""></div>I was talking about Graal code generation.  Vladimir, Igor and I were talking about this offline a bit and it seems there was not particular reason.  Let me double-check this with an experiment… </div><div><br class=""><blockquote type="cite" class=""><div class=""><div class=""><br class="">Vladimir<br class=""><br class="">On 6/16/17 8:09 AM, Christian Thalinger wrote:<br class=""><blockquote type="cite" class="">Could someone remind me, why are we checking for UseConcMarkSweepGC?<br class="">// Check flags<br class="">   verify_flag(_config->_useCompressedOops, UseCompressedOops, "UseCompressedOops");<br class="">   verify_flag(_config->_useCompressedClassPointers, UseCompressedClassPointers, "UseCompressedClassPointers");<br class="">   verify_flag(_config->_useG1GC, UseG1GC, "UseG1GC");<br class="">   verify_flag(_config->_useCMSGC, UseConcMarkSweepGC, "UseConcMarkSweepGC");<br class="">useCMSGC does not affect code generation:<br class="">~/jdk9/hotspot$ ack useCMSGC<br class="">src/jdk.aot/share/classes/jdk.tools.jaotc.binformat/src/jdk/tools/jaotc/binformat/BinaryContainer.java<br class="">303:                                   graalHotSpotVMConfig.useCMSGC,<br class="">src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfig.java<br class="">213:    public final boolean useCMSGC= getFlag("UseConcMarkSweepGC", Boolean.class);<br class="">src/share/vm/aot/aotCodeHeap.cpp<br class="">155:  verify_flag(_config->_useCMSGC, UseConcMarkSweepGC, "UseConcMarkSweepGC");<br class="">src/share/vm/aot/aotCodeHeap.hpp<br class="">105:  bool _useCMSGC;<br class="">Is there some object-layout thing I am forgetting?<br class=""></blockquote></div></div></blockquote></div><br class=""></body></html>