# HG changeset patch # User Thomas Wuerthinger # Date 1429712573 -7200 # Node ID bb63a1b5487cb91ff023b35fa4f776edc506314d # Parent 355ebfa2ba954f4f4c2828709ca26deec44582d0# Parent 5454085a08a7dbc7503b2afcad0da546a298f016 Merge. diff -r 355ebfa2ba95 -r bb63a1b5487c graal/com.oracle.graal.graphbuilderconf/src/com/oracle/graal/graphbuilderconf/InvocationPlugin.java --- a/graal/com.oracle.graal.graphbuilderconf/src/com/oracle/graal/graphbuilderconf/InvocationPlugin.java Wed Apr 22 15:48:18 2015 +0200 +++ b/graal/com.oracle.graal.graphbuilderconf/src/com/oracle/graal/graphbuilderconf/InvocationPlugin.java Wed Apr 22 16:22:53 2015 +0200 @@ -45,6 +45,7 @@ /** * Determines if this plugin can only be used when inlining the method is it associated with. + * That is, this plugin cannot be used when the associated method is the compilation root. */ default boolean inlineOnly() { return isSignaturePolymorphic(); diff -r 355ebfa2ba95 -r bb63a1b5487c graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotSnippetReflectionProvider.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotSnippetReflectionProvider.java Wed Apr 22 15:48:18 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotSnippetReflectionProvider.java Wed Apr 22 16:22:53 2015 +0200 @@ -78,7 +78,9 @@ private ResolvedJavaType configType; public Object getInjectedNodeIntrinsicParameter(ResolvedJavaType type) { - if (wordTypesType == null) { + // Need to test all fields since there no guarantee under the JMM + // about the order in which these fields are written. + if (configType == null || wordTypesType == null || configType == null) { MetaAccessProvider metaAccess = runtime.getHostProviders().getMetaAccess(); wordTypesType = metaAccess.lookupJavaType(runtime.getHostProviders().getWordTypes().getClass()); runtimeType = metaAccess.lookupJavaType(runtime.getClass());