# HG changeset patch # User Stefan Anzinger # Date 1430759570 -7200 # Node ID 0028ab94d268ebca7edb4dc6b0416853c0760018 # Parent 9a7125f0eedad9d0f9e20d0c38d6a4cb163541fb Make cache in HotSpotConstantPool.lookupType thread safe. diff -r 9a7125f0eeda -r 0028ab94d268 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java Mon May 04 09:10:52 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java Mon May 04 19:12:50 2015 +0200 @@ -489,8 +489,10 @@ @Override public JavaType lookupType(int cpi, int opcode) { - if (cpi == this.lastTypeCpi) { - return this.lastType; + synchronized (this) { + if (cpi == this.lastTypeCpi) { + return this.lastType; + } } final long metaspacePointer = runtime().getCompilerToVM().lookupKlassInPool(metaspaceConstantPool, cpi); JavaType result = getJavaType(metaspacePointer);