Mercurial > hg > truffle
comparison graal/com.oracle.graal.java/src/com/oracle/graal/java/BytecodeParser.java @ 21771:ed3d7af510bd
BytecodeParser#lookupField: use eagerResolving instead of unresolvedIsError to guard explicit initialization.
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Wed, 03 Jun 2015 09:28:41 +0200 |
parents | bb72c486714a |
children | 76c162c69c2f |
comparison
equal
deleted
inserted
replaced
21770:c76742cc2c6f | 21771:ed3d7af510bd |
---|---|
2898 } | 2898 } |
2899 | 2899 |
2900 private JavaField lookupField(int cpi, int opcode) { | 2900 private JavaField lookupField(int cpi, int opcode) { |
2901 maybeEagerlyResolve(cpi, opcode); | 2901 maybeEagerlyResolve(cpi, opcode); |
2902 JavaField result = constantPool.lookupField(cpi, opcode); | 2902 JavaField result = constantPool.lookupField(cpi, opcode); |
2903 if (graphBuilderConfig.unresolvedIsError()) { | 2903 if (graphBuilderConfig.eagerResolving()) { |
2904 assert result instanceof ResolvedJavaField : "Not resolved: " + result; | 2904 assert result instanceof ResolvedJavaField : "Not resolved: " + result; |
2905 ResolvedJavaType declaringClass = ((ResolvedJavaField) result).getDeclaringClass(); | 2905 ResolvedJavaType declaringClass = ((ResolvedJavaField) result).getDeclaringClass(); |
2906 if (!declaringClass.isInitialized()) { | 2906 if (!declaringClass.isInitialized()) { |
2907 assert declaringClass.isInterface() : "Declaring class not initialized but not an interface? " + declaringClass; | 2907 assert declaringClass.isInterface() : "Declaring class not initialized but not an interface? " + declaringClass; |
2908 declaringClass.initialize(); | 2908 declaringClass.initialize(); |