United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6923043 failed nightly tests which use -XX:+PrintCompilation -Xcomp -XX:CompileOnly
JDK-6923043 : failed nightly tests which use -XX:+PrintCompilation -Xcomp -XX:CompileOnly

Details
Type:
Bug
Submit Date:
2010-02-03
Status:
Closed
Updated Date:
2011-03-08
Project Name:
JDK
Resolved Date:
2011-03-08
Component:
hotspot
OS:
solaris_10
Sub-Component:
compiler
CPU:
sparc
Priority:
P4
Resolution:
Fixed
Affected Versions:
hs17
Fixed Versions:
hs17 (b09)

Related Reports
Backport:
Backport:
Relates:

Sub Tasks

Description
I added the next change for 6614597:

 // call this when compiler finds that this method is not compilable
void methodOopDesc::set_not_compilable(int comp_level) {
+ if (PrintCompilation) {
+   ttyLocker ttyl;
+   tty->print("made not compilable ");
+   this->print_short_name(tty);
+   int size = this->code_size();
+   if (size > 0)
+   tty->print(" (%d bytes)", size);
+   tty->cr();
+ }

And when "-XX:+PrintCompilation -Xcomp and -XX:CompileOnly=Test.test"
flags are specified we get a lot of lines like this:

made not compilable  java.lang.Thread::<init> (49 bytes)
made not compilable  java.lang.System::getProperty (25 bytes)
...
made not compilable  java.lang.Exception::<init> (7 bytes)


As result some tests in Nightly failed because they grep for exceptions:

test/closed/compiler/4903383/Test4903383.sh
------------------------------------
grep "java.lang.Exception" test.out

if [ $? = 0 ]
then
    echo "Test Failed"
    exit 1
else
    echo "Test Passed"
    exit 0
fi
-----------------------------------

It seems, I need to modify the print code to check for Xcomp -XX:CompileOnly combination.

                                    

Comments
EVALUATION

ChangeSet=http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/cef333a48af6,ChangeRequest=6923043
                                     
2010-02-04
PUBLIC COMMENTS

The intention of changes in 6614597 was to print "made not compilable" line
for methods for which compilation was disabled due to frequent deoptimizations.
But it prints such line also for methods for which compilation was disabled
due to CompilerOracle options (Exclude, CompileOnly, CIStart, CIStop).

The fix is to path flag to methodOopDesc::set_not_compilable() to print
the line only for deoptimizations.
                                     
2010-02-04



Hardware and Software, Engineered to Work Together