Details
-
Bug
-
Resolution: Fixed
-
P2
-
22
-
b11
-
Verified
Description
After JDK-8301996, the encoding of getfield/putfield/getstatic/putstatic has been changed in constantPool.cpp. However, jdk/vm/ci/hotspot/HotSpotConstantPool.java has not been updated accordingly:
# assert(i >= 0 && i< _length) failed: oob: 0 <= 65536 < 13
V [libjvm.so+0xa530c4] ConstantPool::to_cp_index(int, Bytecodes::Code)+0x134 (array.hpp:128)
V [libjvm.so+0xa532d2] ConstantPool::name_and_type_ref_index_at(int, Bytecodes::Code)+0x12 (constantPool.cpp:926)
V [libjvm.so+0x10744f8] c2v_lookupNameAndTypeRefIndexInPool(JNIEnv_*, _jobject*, _jobject*, long, int, int)+0x148 (jvmciCompilerToVM.cpp:828)
j jdk.vm.ci.hotspot.CompilerToVM.lookupNameAndTypeRefIndexInPool(Ljdk/vm/ci/hotspot/HotSpotConstantPool;JII)I+0 jdk.internal.vm.ci@22-internal
j jdk.vm.ci.hotspot.CompilerToVM.lookupNameAndTypeRefIndexInPool(Ljdk/vm/ci/hotspot/HotSpotConstantPool;II)I+8 jdk.internal.vm.ci@22-internal
j jdk.vm.ci.hotspot.HotSpotConstantPool.getNameAndTypeRefIndexAt(II)I+6 jdk.internal.vm.ci@22-internal
j jdk.vm.ci.hotspot.HotSpotConstantPool.lookupField(ILjdk/vm/ci/meta/ResolvedJavaMethod;I)Ljdk/vm/ci/meta/JavaField;+11 jdk.internal.vm.ci@22-internal
j org.graalvm.compiler.java.BytecodeParser.lookupField(II)Ljdk/vm/ci/meta/JavaField;+16 jdk.internal.vm.compiler@21-internal
# assert(i >= 0 && i< _length) failed: oob: 0 <= 65536 < 13
V [libjvm.so+0xa530c4] ConstantPool::to_cp_index(int, Bytecodes::Code)+0x134 (array.hpp:128)
V [libjvm.so+0xa532d2] ConstantPool::name_and_type_ref_index_at(int, Bytecodes::Code)+0x12 (constantPool.cpp:926)
V [libjvm.so+0x10744f8] c2v_lookupNameAndTypeRefIndexInPool(JNIEnv_*, _jobject*, _jobject*, long, int, int)+0x148 (jvmciCompilerToVM.cpp:828)
j jdk.vm.ci.hotspot.CompilerToVM.lookupNameAndTypeRefIndexInPool(Ljdk/vm/ci/hotspot/HotSpotConstantPool;JII)I+0 jdk.internal.vm.ci@22-internal
j jdk.vm.ci.hotspot.CompilerToVM.lookupNameAndTypeRefIndexInPool(Ljdk/vm/ci/hotspot/HotSpotConstantPool;II)I+8 jdk.internal.vm.ci@22-internal
j jdk.vm.ci.hotspot.HotSpotConstantPool.getNameAndTypeRefIndexAt(II)I+6 jdk.internal.vm.ci@22-internal
j jdk.vm.ci.hotspot.HotSpotConstantPool.lookupField(ILjdk/vm/ci/meta/ResolvedJavaMethod;I)Ljdk/vm/ci/meta/JavaField;+11 jdk.internal.vm.ci@22-internal
j org.graalvm.compiler.java.BytecodeParser.lookupField(II)Ljdk/vm/ci/meta/JavaField;+16 jdk.internal.vm.compiler@21-internal
Attachments
Issue Links
- relates to
-
JDK-8301996 Move field resolution information out of the cpCache
-
- Resolved
-
-
JDK-8314172 JVMCI ConstantPool uses incorrect names for parameters
-
- Open
-