RFR (XXL): JEP 243: Java-Level JVM Compiler Interface (original) (raw)
Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Mon Oct 5 12:47:05 UTC 2015
- Previous message: RFR (XXL): JEP 243: Java-Level JVM Compiler Interface
- Next message: RFR (XXL): JEP 243: Java-Level JVM Compiler Interface
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 2015-09-29 03:12, Christian Thalinger wrote:
On Sep 27, 2015, at 11:25 PM, Magnus Ihse Bursie <magnus.ihse.bursie at oracle.com> wrote:
On 2015-09-25 22:00, Christian Thalinger wrote: Btw. we found a bug in creating the OptionDescriptors files; we get duplicate entries:
$ cat build/macosx-x8664-normal-server-release/jdk/modules/java.base/META-INF/services/jdk.internal.jvmci.options.OptionDescriptors jdk.internal.jvmci.compiler.CompilerOptionDescriptors jdk.internal.jvmci.hotspot.HotSpotConstantReflectionProviderOptionDescriptors jdk.internal.jvmci.hotspot.HotSpotResolvedJavaFieldImplOptionDescriptors jdk.internal.jvmci.hotspot.HotSpotResolvedJavaMethodImplOptionDescriptors jdk.internal.jvmci.compiler.CompilerOptionDescriptors jdk.internal.jvmci.hotspot.HotSpotConstantReflectionProviderOptionDescriptors jdk.internal.jvmci.hotspot.HotSpotResolvedJavaFieldImplOptionDescriptors jdk.internal.jvmci.hotspot.HotSpotResolvedJavaMethodImplOptionDescriptors … Would this be the right fix? diff -r db1a815d2f6c make/gensrc/Gensrc-java.base.gmk --- a/make/gensrc/Gensrc-java.base.gmkThu Sep 24 15:35:49 2015 -1000 +++ b/make/gensrc/Gensrc-java.base.gmkFri Sep 25 18🔞35 2015 +0200 @@ -94,6 +94,7 @@ $(GENSRCDIR)/gensrcprocdone $(MKDIR) -p $(@D) _($(CD) $(GENSRCDIR)/META-INF/jvmci.options && _ _+ (RM)−f(RM) -f (RM)−f@; _ _for i in (ls); do _ _echo {i}OptionDescriptors >> $@; _ done) That seems like a reasonable fix, yes. Thanks, but… (see below) And I see the same behavior for HotSpotJVMCIBackendFactory: $ cat build/macosx-x8664-normal-server-release/jdk/modules/java.base/META-INF/services/jdk.internal.jvmci.hotspot.HotSpotJVMCIBackendFactory jdk.internal.jvmci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory jdk.internal.jvmci.hotspot.sparc.SPARCHotSpotJVMCIBackendFactory jdk.internal.jvmci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory jdk.internal.jvmci.hotspot.sparc.SPARCHotSpotJVMCIBackendFactory … So I think a similar fix needs to be applied there. …I’ve look at the code that creates this file and it isn’t obvious to me how to fix it. Any good ideas?
Try this:
($(CD) $(GENSRC_DIR)/META-INF/jvmci.providers &&
for i in ($(LS)); do
c=$$($(CAT) i | $(TR) -d '\n\r'); \
<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">(</mo><mi>R</mi><mi>M</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(RM) </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.10903em;">RM</span><span class="mclose">)</span></span></span></span>(GENSRC_DIR)/META-INF/services/$$c; \ <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">(</mo><mi>E</mi><mi>C</mi><mi>H</mi><mi>O</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(ECHO) </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.07153em;">EC</span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span><span class="mord mathnormal" style="margin-right:0.02778em;">O</span><span class="mclose">)</span></span></span></span>$i >> <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">(</mo><mi>G</mi><mi>E</mi><mi>N</mi><mi>S</mi><mi>R</mi><msub><mi>C</mi><mi>D</mi></msub><mi>I</mi><mi>R</mi><mo stretchy="false">)</mo><mi mathvariant="normal">/</mi><mi>M</mi><mi>E</mi><mi>T</mi><mi>A</mi><mo>−</mo><mi>I</mi><mi>N</mi><mi>F</mi><mi mathvariant="normal">/</mi><mi>s</mi><mi>e</mi><mi>r</mi><mi>v</mi><mi>i</mi><mi>c</mi><mi>e</mi><mi>s</mi><mi mathvariant="normal">/</mi></mrow><annotation encoding="application/x-tex">(GENSRC_DIR)/META-INF/services/</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.00773em;">GENSR</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.07153em;">C</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.02778em;">D</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord mathnormal" style="margin-right:0.07847em;">I</span><span class="mord mathnormal" style="margin-right:0.00773em;">R</span><span class="mclose">)</span><span class="mord">/</span><span class="mord mathnormal" style="margin-right:0.13889em;">MET</span><span class="mord mathnormal">A</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.07847em;">I</span><span class="mord mathnormal" style="margin-right:0.13889em;">NF</span><span class="mord">/</span><span class="mord mathnormal" style="margin-right:0.02778em;">ser</span><span class="mord mathnormal" style="margin-right:0.03588em;">v</span><span class="mord mathnormal">i</span><span class="mord mathnormal">ces</span><span class="mord">/</span></span></span></span>$c; \ done) <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">(</mo><mi>T</mi><mi>O</mi><mi>U</mi><mi>C</mi><mi>H</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(TOUCH) </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.02778em;">TO</span><span class="mord mathnormal" style="margin-right:0.10903em;">U</span><span class="mord mathnormal" style="margin-right:0.07153em;">C</span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span><span class="mclose">)</span></span></span></span>@
I have not tested it but it should work.
/Magnus
- Previous message: RFR (XXL): JEP 243: Java-Level JVM Compiler Interface
- Next message: RFR (XXL): JEP 243: Java-Level JVM Compiler Interface
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]