|
Quick Lists
|
|
Bug ID:
|
6681646
|
|
Votes
|
0
|
|
Synopsis
|
Relocking of a scalar replaced object during deoptimization is broken.
|
|
Category
|
hotspot:compiler2
|
|
Reported Against
|
|
|
Release Fixed
|
hs12(b02)
|
|
State
|
10-Fix Delivered,
bug
|
|
Priority:
|
4-Low
|
|
Related Bugs
|
|
|
Submit Date
|
28-MAR-2008
|
|
Description
|
PIT testing of 6u5p got failures in nsk tests when runnning with EA and BiasedLocking.
Tests passed with EA or BiasedLocking switched off.
The test failed when trying exit the monitor after deoptimization
of the compiled method with eliminated lock of scalar replaced
customer .
When scalarized customer is reallocated the mark word is set
to klass->prototype_header() by default. Which can have biased pattern.
But the lock should not be biased in order to safely move
the displaced mark word from the compiled frame
to the vframeArray and back to the interpreted frame.
Affected tests:
# Internal Error (synchronizer.cpp:1803), pid=XXX, tid=XXX
# Error: guarantee(mid->header()->is_neutral(),"invariant")
nsk/stress/jck12a/jck12a011
nsk/stress/jck12a/jck12a015
nsk/stress/jck12a/jck12a016
nsk/stress/jck12a/jck12a017
nsk/stress/jck60/jck60011
nsk/stress/jck60/jck60013
nsk/stress/jck60/jck60016
nsk/stress/jck60/jck60017
nsk/stress/jck60/jck60018
nsk/stress/jck60/jck60019
nsk/stress/jck60/jck60021
Posted Date : 2008-03-28 18:26:18.0
I see the following tests fail with the same assertion:
nsk/monitoring/stress/thread/cmon002
nsk/monitoring/stress/thread/cmon003
Posted Date : 2008-03-29 00:09:48.0
|
|
Work Around
|
N/A
|
|
Evaluation
|
The test failed when trying exit the monitor after deoptimization
of the compiled method with eliminated lock.
New allocated objects may have the mark set to anonymously biased.
Also the deoptimized method may called methods with synchronization
where the thread-local object is bias locked to the current thread.
Posted Date : 2008-04-02 01:21:23.0
|
|
Comments
|
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|
|
|
 |