RFR: 8035150 ShouldNotReachHere() in ConstantPool::copy_entry_to
Markus Gronlund
markus.gronlund at oracle.com
Mon Feb 24 01:42:42 PST 2014
Hi Staffan,
I would think this is the correct fix.
The other two constant pool "error" tags, besides UnresolvedClassInError, which signal constant pool resolution errors are MethodTypeInError and MethodHandleInError - these error tags are associated with their corresponding "success" tags in switch targets in ConstantPool::copy_entry_to(), as well as in additional routines in constantPool.cpp.
In addition, in other routines in ConstantPool.cpp, the error tag JVM_CONSTANT_UnresolvedClassInError is associated with JVM_CONSTANT_UnresolvedClass - ConstantPool::resolve_constant_at_impl() for example.
Thanks
Markus
-----Original Message-----
From: Staffan Larsen
Sent: den 21 februari 2014 15:11
To: hotspot-runtime-dev; serviceability-dev at openjdk.java.net serviceability-dev at openjdk.java.net
Subject: RFR: 8035150 ShouldNotReachHere() in ConstantPool::copy_entry_to
This is an attempt to solve a crash while redefining a class that has unresolved class references in its constant pool. I would appreciate some extra scrutiny here since I am unfamiliar with this code path.
I have also added a test that causes a JVM crash without the fix.
The updates to the test library is all code copied from the jdk version of the test library.
webrev: http://cr.openjdk.java.net/~sla/8035150/webrev.00/
bug: https://bugs.openjdk.java.net/browse/JDK-8035150
Thanks,
/Staffan
More information about the serviceability-dev
mailing list