Mercurial > hg > graal-jvmci-8
changeset 23400:0cbc2bd101c3
revert incorrect assertion and correct javadoc around MemoryAccessProvider.readObjectConstant
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Wed, 18 May 2016 21:31:59 +0200 |
parents | acfe624d83f5 |
children | c9993da505a0 d14879241ef4 |
files | jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl.java jvmci/jdk.vm.ci.meta/src/jdk/vm/ci/meta/MemoryAccessProvider.java |
diffstat | 2 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl.java Wed May 18 11:04:37 2016 -0700 +++ b/jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl.java Wed May 18 21:31:59 2016 +0200 @@ -198,7 +198,9 @@ Object o = readRawObject(base, displacement, runtime.getConfig().useCompressedOops); return HotSpotObjectConstantImpl.forObject(o); } - assert isValidObjectFieldDisplacement(base, displacement); + if (!isValidObjectFieldDisplacement(base, displacement)) { + return null; + } return HotSpotObjectConstantImpl.forObject(readRawObject(base, displacement, false)); }
--- a/jvmci/jdk.vm.ci.meta/src/jdk/vm/ci/meta/MemoryAccessProvider.java Wed May 18 11:04:37 2016 -0700 +++ b/jvmci/jdk.vm.ci.meta/src/jdk/vm/ci/meta/MemoryAccessProvider.java Wed May 18 21:31:59 2016 +0200 @@ -59,7 +59,9 @@ * * @param base the base address from which the value is read * @param displacement the displacement within the object in bytes - * @return the read value encapsulated in a {@link Constant} object + * @return the read value encapsulated in a {@link Constant} object or {@code null} if the + * address computed from {@code base} and {@code displacement} does not denote a + * location holding an {@code Object} value */ JavaConstant readObjectConstant(Constant base, long displacement); }