hotspot/src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotConstantPool.java
changeset 39421 a9652c919db8
parent 38695 08b834856583
child 39426 ea04b4d9d862
equal deleted inserted replaced
39420:987528901b83 39421:a9652c919db8
   585             return result;
   585             return result;
   586         }
   586         }
   587     }
   587     }
   588 
   588 
   589     @Override
   589     @Override
   590     public JavaField lookupField(int cpi, int opcode) {
   590     public JavaField lookupField(int cpi, ResolvedJavaMethod method, int opcode) {
   591         final int index = rawIndexToConstantPoolIndex(cpi, opcode);
   591         final int index = rawIndexToConstantPoolIndex(cpi, opcode);
   592         final int nameAndTypeIndex = getNameAndTypeRefIndexAt(index);
   592         final int nameAndTypeIndex = getNameAndTypeRefIndexAt(index);
   593         final int nameIndex = getNameRefIndexAt(nameAndTypeIndex);
   593         final int nameIndex = getNameRefIndexAt(nameAndTypeIndex);
   594         String name = lookupUtf8(nameIndex);
   594         String name = lookupUtf8(nameIndex);
   595         final int typeIndex = getSignatureRefIndexAt(nameAndTypeIndex);
   595         final int typeIndex = getSignatureRefIndexAt(nameAndTypeIndex);
   601 
   601 
   602         if (holder instanceof HotSpotResolvedObjectTypeImpl) {
   602         if (holder instanceof HotSpotResolvedObjectTypeImpl) {
   603             long[] info = new long[2];
   603             long[] info = new long[2];
   604             HotSpotResolvedObjectTypeImpl resolvedHolder;
   604             HotSpotResolvedObjectTypeImpl resolvedHolder;
   605             try {
   605             try {
   606                 resolvedHolder = compilerToVM().resolveFieldInPool(this, index, (byte) opcode, info);
   606                 resolvedHolder = compilerToVM().resolveFieldInPool(this, index, (HotSpotResolvedJavaMethodImpl) method, (byte) opcode, info);
   607             } catch (Throwable t) {
   607             } catch (Throwable t) {
   608                 /*
   608                 /*
   609                  * If there was an exception resolving the field we give up and return an unresolved
   609                  * If there was an exception resolving the field we give up and return an unresolved
   610                  * field.
   610                  * field.
   611                  */
   611                  */