|
Quick Lists
|
|
Bug ID:
|
6307266
|
|
Votes
|
0
|
|
Synopsis
|
JIT compilation in mixed mode may break synchronization
|
|
Category
|
hotspot:compiler1
|
|
Reported Against
|
|
|
Release Fixed
|
mustang(b49),
1.4.2_18(b05) (Bug ID:2148043)
, 5.0u16-rev(b10) (Bug ID:2157829)
, 1.4.2_17-rev(b10) (Bug ID:2160985)
, 5.0u17(b03) (Bug ID:2168675)
|
|
State
|
10-Fix Delivered,
Verified,
bug
|
|
Priority:
|
2-High
|
|
Related Bugs
|
|
|
Submit Date
|
05-AUG-2005
|
|
Description
|
Attached test works ok until internal loop is interpreted.
However, after it is executed number of times normally and
compiled by JIT it fails with 'java.lang.IllegalMonitorStateException' exception.
This problem is reproducible with both 1.5 and recent mustang builds.
It is not reproducible on Solaris x86 and linux x86.
Posted Date : 2005-08-05 20:38:30.0
|
|
Work Around
|
N/A
|
|
Evaluation
|
This is a bug in the order in which monitors are copied from the interpreter frame to the compiled frame. Strictly speaking this was broken in original sparc port of client but only in 1.4.1 did it become visible because we switched to using BasicObjectLocks so we stopped examining unlocked object, relying instead of the BasicObjectLock pointing to the correct object. The fix is simply to reverse order of transfering locks from the interpeter frame.
Posted Date : 2005-08-08 22:30:59.0
|
|
Comments
|
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|
|
|
 |