src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl.java
changeset 52220 9c260a6b6471
parent 52017 d3424ddad792
child 54669 ad45b3802d4e
equal deleted inserted replaced
52219:151b990e3764 52220:9c260a6b6471
   201             displacement += asRawPointer(baseConstant);
   201             displacement += asRawPointer(baseConstant);
   202             ret = UNSAFE.getUncompressedObject(displacement);
   202             ret = UNSAFE.getUncompressedObject(displacement);
   203             assert verifyReadRawObject(ret, baseConstant, initialDisplacement);
   203             assert verifyReadRawObject(ret, baseConstant, initialDisplacement);
   204         } else {
   204         } else {
   205             assert runtime.getConfig().useCompressedOops == compressed;
   205             assert runtime.getConfig().useCompressedOops == compressed;
   206             ret = UNSAFE.getObject(base, displacement);
   206             ret = UNSAFE.getReference(base, displacement);
   207         }
   207         }
   208         return ret;
   208         return ret;
   209     }
   209     }
   210 
   210 
   211     JavaConstant readFieldValue(HotSpotResolvedJavaField field, Object obj, boolean isVolatile) {
   211     JavaConstant readFieldValue(HotSpotResolvedJavaField field, Object obj, boolean isVolatile) {
   231             case Float:
   231             case Float:
   232                 return JavaConstant.forFloat(isVolatile ? UNSAFE.getFloatVolatile(obj, displacement) : UNSAFE.getFloat(obj, displacement));
   232                 return JavaConstant.forFloat(isVolatile ? UNSAFE.getFloatVolatile(obj, displacement) : UNSAFE.getFloat(obj, displacement));
   233             case Double:
   233             case Double:
   234                 return JavaConstant.forDouble(isVolatile ? UNSAFE.getDoubleVolatile(obj, displacement) : UNSAFE.getDouble(obj, displacement));
   234                 return JavaConstant.forDouble(isVolatile ? UNSAFE.getDoubleVolatile(obj, displacement) : UNSAFE.getDouble(obj, displacement));
   235             case Object:
   235             case Object:
   236                 return HotSpotObjectConstantImpl.forObject(isVolatile ? UNSAFE.getObjectVolatile(obj, displacement) : UNSAFE.getObject(obj, displacement));
   236                 return HotSpotObjectConstantImpl.forObject(isVolatile ? UNSAFE.getReferenceVolatile(obj, displacement) : UNSAFE.getReference(obj, displacement));
   237             default:
   237             default:
   238                 throw new IllegalArgumentException("Unsupported kind: " + kind);
   238                 throw new IllegalArgumentException("Unsupported kind: " + kind);
   239         }
   239         }
   240     }
   240     }
   241 
   241