Mercurial > hg > graal-jvmci-8
diff jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java @ 23734:2e17c65dddd7 jvmci-0.18
8163105: SIGSEGV: constantPoolHandle::constantPoolHandle(ConstantPool*)
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Thu, 04 Aug 2016 18:07:20 +0200 |
parents | 8b40dfc73eea |
children | 1140503536ae |
line wrap: on
line diff
--- a/jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java Tue Aug 02 17:25:40 2016 -0700 +++ b/jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java Thu Aug 04 18:07:20 2016 +0200 @@ -552,20 +552,18 @@ native HotSpotResolvedJavaMethodImpl getResolvedJavaMethod(Object base, long displacement); /** - * Read a HotSpot ConstantPool* value from the memory location described by {@code base} plus - * {@code displacement} and return the {@link HotSpotConstantPool} wrapping it. This method does - * no checking that the memory location actually contains a valid pointer and may crash the VM - * if an invalid location is provided. If the {@code base} is null then {@code displacement} is - * used by itself. If {@code base} is a {@link HotSpotResolvedJavaMethodImpl}, - * {@link HotSpotConstantPool} or {@link HotSpotResolvedObjectTypeImpl} then the metaspace - * pointer is fetched from that object and added to {@code displacement}. Any other non-null - * object type causes an {@link IllegalArgumentException} to be thrown. + * Gets the {@code ConstantPool*} associated with {@code object} and returns a + * {@link HotSpotConstantPool} wrapping it. * - * @param base an object to read from or null - * @param displacement - * @return null or the resolved method for this location + * @param object a {@link HotSpotResolvedJavaMethodImpl} or + * {@link HotSpotResolvedObjectTypeImpl} object + * @return a {@link HotSpotConstantPool} wrapping the {@code ConstantPool*} associated with + * {@code object} + * @throws NullPointerException if {@code object == null} + * @throws IllegalArgumentException if {@code object} is neither a + * {@link HotSpotResolvedJavaMethodImpl} nor a {@link HotSpotResolvedObjectTypeImpl} */ - native HotSpotConstantPool getConstantPool(Object base, long displacement); + native HotSpotConstantPool getConstantPool(Object object); /** * Read a HotSpot Klass* value from the memory location described by {@code base} plus