hotspot/src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl.java
equal
deleted
inserted
replaced
230 assert (base instanceof HotSpotObjectConstantImpl); |
230 assert (base instanceof HotSpotObjectConstantImpl); |
231 Object baseObject = ((HotSpotObjectConstantImpl) base).object(); |
231 Object baseObject = ((HotSpotObjectConstantImpl) base).object(); |
232 HotSpotResolvedJavaMethodImpl method = runtime.getCompilerToVM().getResolvedJavaMethod(baseObject, displacement); |
232 HotSpotResolvedJavaMethodImpl method = runtime.getCompilerToVM().getResolvedJavaMethod(baseObject, displacement); |
233 return HotSpotMetaspaceConstantImpl.forMetaspaceObject(method, false); |
233 return HotSpotMetaspaceConstantImpl.forMetaspaceObject(method, false); |
234 } |
234 } |
235 |
|
236 @Override |
|
237 public Constant readSymbolConstant(Constant base, long displacement) { |
|
238 int bits = runtime.getConfig().symbolPointerSize * Byte.SIZE; |
|
239 long pointer = readRawValue(base, displacement, bits); |
|
240 if (pointer == 0) { |
|
241 return JavaConstant.NULL_POINTER; |
|
242 } else { |
|
243 String symbol = runtime.getCompilerToVM().getSymbol(pointer); |
|
244 return new HotSpotSymbol(symbol, pointer).asConstant(); |
|
245 } |
|
246 } |
|
247 } |
235 } |