RFR(S) : 8019915 : whitebox testClearMethodStateTest fails with tiered on sparc

Igor Ignatyev igor.ignatyev at oracle.com
Tue Aug 6 17:50:28 PDT 2013


Answers inline.
On 08/06/2013 11:24 PM, Vladimir Kozlov wrote:
> Igor,
> Two things.
> First, could you explain what do you mean under "queue overloaded"?
I mean very very big count of methods in compiler queue, that affect 
compiler threshold in tiered compilation. For example, excerpt from .jtr 
at test's start:

private TestCase$Helper(int):
         compilable:     true
         compiled:       false
         comp_level:     0
         in_queue:       false
compile_queues_size:    47

As we can see queue contains 47 methods, so threshold many more than 100.
> Could you fix all white box test to not print by default
> System.out.println("method was invoked " + count + " times");?
> The same for these chagnes:
> System.out.printf("Compiler queue size is %d, waiting...%n", size);
> Can you put this under debugging flag (-Dverbose) so when we do normal
> jtreg runs they will not print it? They really pollute jtreg output, see
> the output file IsMethodCompilableTest.jtr from the bug report.
sure, I will do this.

> I think you can partially avoid the problem if you use CICompilerCount=1.
> Is it possible that a method is compiled before your (401) count because
> of Tiered compilation? C1 in Tiered has threshold = 100.
Sorry, but it looks like you're mistaken look at output of 
IsMethodCompilableTest, but the bug is about ClearMethodStateTest and it 
also affect only MakeMethodNotCompilableTest. IsMethodCompilableTest 
fails due to JDK-8007270 'C1: compilation after reaching of 
recompilation's limit'

> thanks,
> Vladimir
> On 8/6/13 12:57 AM, Igor Ignatyev wrote:
>> Hi all,
>> Please review patch.
>> Problem:
>> 'compiler/whitebox' tests fail with exception "<method_name> must be
>> compiled". The problem with these tests is as follows: tests don't
>> assume that compiler's queue can be overloaded at the moment of
>> 'compile(I)' invocation.
>> Fix:
>> Waiting for empty compiler queue was added into start of 'compile(I)'.
>> webrev: http://cr.openjdk.java.net/~iignatyev/8019915/webrev.00/
>> jbs: https://jbs.oracle.com/bugs/browse/JDK-8019915
>> bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8019915
>> testing: compiler/whitebox

More information about the hotspot-compiler-dev mailing list