Mercurial > hg > truffle
changeset 21079:5454085a08a7
fixed race in HotSpotSnippetReflectionProvider.getInjectedNodeIntrinsicParameter()
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Tue, 21 Apr 2015 20:23:59 +0200 |
parents | 9cc0395dcd36 |
children | 3253fe1bed41 bb63a1b5487c |
files | graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotSnippetReflectionProvider.java |
diffstat | 1 files changed, 3 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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());