re PR libgcj/16662 (IllegalMonitorStateException in EventQueue.getNextEvent(): possib...
authorHans Boehm <Hans_Boehm@hp.com>
Thu, 12 Aug 2004 17:56:32 +0000 (17:56 +0000)
committerHans Boehm <hboehm@gcc.gnu.org>
Thu, 12 Aug 2004 17:56:32 +0000 (17:56 +0000)
commit28e99c6271f33c9f03eb2fda746b40ab1241e3aa
tree3a7461936a6778ca24c934e4e01f866aaf0a8c78
parentadf39f8f5f2e1c877fe6b02654e673875c34ddac
re PR libgcj/16662 (IllegalMonitorStateException in EventQueue.getNextEvent(): possible hash synchronization bug?)

PR libgcj/16662
* java/lang/natObject.cc (LOCK_LOG, LOG): Add debug tracing.
(Almost everywhere): add LOG calls, fix, add comments.
(_Jv_MonitorEnter): Replace masking of LOCKED bit with assertion.
Add explicit check for LOCKED bit in slow case (PR 16662).
(_Jv_MonitorExit): Add casts in debug-only code.
Always release LOCKED bit before throwing exception.
(_Jv_ObjectCheckMonitor): Lock may be held if lightweight lock
isn't.  Handle easy cases without lock acquisition.
(Object::wait): Use NotifyAll for lock inflation.

From-SVN: r85884
libjava/ChangeLog
libjava/java/lang/natObject.cc