# HG changeset patch # User Doug Simon # Date 1429640639 -7200 # Node ID 5454085a08a7dbc7503b2afcad0da546a298f016 # Parent 9cc0395dcd3695fd45e6b1a9d5717d4054c513d5 fixed race in HotSpotSnippetReflectionProvider.getInjectedNodeIntrinsicParameter() diff -r 9cc0395dcd36 -r 5454085a08a7 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 Tue Apr 21 15:55:09 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotSnippetReflectionProvider.java Tue Apr 21 20:23:59 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());