There are two monitors for each class. The monitor associated with the
handle of a java.lang.Class object should only be used for synchronized
methods and other Java-level synchronization. The monitor associated
with the ClassClass structure should be used for all internal locking in
the VM and JIT compiler.
The JIT support code for the first call to a native method is currently
using the wrong monitor. It needs to use the one associated with the
ClassClass structure. The current code may deadlock. The problem exists
in both the SPARC and i386 versions.
handle of a java.lang.Class object should only be used for synchronized
methods and other Java-level synchronization. The monitor associated
with the ClassClass structure should be used for all internal locking in
the VM and JIT compiler.
The JIT support code for the first call to a native method is currently
using the wrong monitor. It needs to use the one associated with the
ClassClass structure. The current code may deadlock. The problem exists
in both the SPARC and i386 versions.
- relates to
-
JDK-4041699 internal class synchronization may lead to deadlock
- Closed