RFR(S): 8026949: -Xint flag prints wrong warning: Initialization of C1 thread failed (no space to run compilers)

Albert Noll albert.noll at oracle.com
Tue Oct 22 11:03:52 PDT 2013


Roland, Igor, thanks for looking at this.

I tested the patch as follows:

java -Xint -version .. make sure that output does not appear
java -Xcomp -version make sure that compiler(s) are working

Execution of nashorn octane + some DaCapo benchmarks. (with -Xint and 
-Xcomp and -Xmixed)

Seems to work fine.

Best,
Albert

On 22.10.2013 19:12, Igor Veresov wrote:
> Looks good.
>
> igor
>
> On Oct 22, 2013, at 6:15 AM, Albert Noll <albert.noll at oracle.com 
> <mailto:albert.noll at oracle.com>> wrote:
>
>> Thanks Igor. This is a good solution.
>>
>> Here is the webrev:
>> http://cr.openjdk.java.net/~anoll/8026949/webrev.01/ 
>> <http://cr.openjdk.java.net/%7Eanoll/8026949/webrev.01/>
>>
>> Best,
>> Albert
>>
>> On 22.10.2013 08:41, Igor Veresov wrote:
>>> Another trivial fix option is to just bail out 
>>> of CompileBroker::compilation_init() is UseCompiler is false. To 
>>> avoid initializing the compiler objects and all..
>>>
>>> igor
>>>
>>> On Oct 21, 2013, at 11:15 PM, Albert Noll <albert.noll at oracle.com 
>>> <mailto:albert.noll at oracle.com>> wrote:
>>>
>>>> Christian, Igor, thanks for the reviews.
>>>>
>>>> There seems to be an ambiguity between -Xint and -XX:+UseCompiler. 
>>>> Whether we use a compiler or
>>>> not, depends on the order in which the arguments are given. I am 
>>>> not exactly sure why we have
>>>> the -XX:(+/-)UseCompiler flag at all, also as a product flag.
>>>>
>>>> The reason why I added the checks when we determine the number of 
>>>> compiler threads is that we
>>>> do not generate the compiler objects (they are not needed). Also, 
>>>> the number of compiler threads
>>>> is set correctly.
>>>>
>>>> The solution proposed by Igor is simpler. If the above issues do 
>>>> not matter, I would also opt for the
>>>> simple solution.
>>>>
>>>> Best,
>>>> Albert
>>>>
>>>>
>>>> On 22.10.2013 06:17, Igor Veresov wrote:
>>>>> If think you can just use the existing "UseCompiler" flag, that we 
>>>>> set to false when -Xint is specified and just not call 
>>>>> init_compiler_threads() if UseCompiler == false.
>>>>>
>>>>> igor
>>>>>
>>>>> On Oct 21, 2013, at 2:54 AM, Albert Noll <albert.noll at oracle.com 
>>>>> <mailto:albert.noll at oracle.com>> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> could I have reviews for this small patch?
>>>>>>
>>>>>> bug: https://bugs.openjdk.java.net/browse/JDK-8026949
>>>>>> webrev: http://cr.openjdk.java.net/~anoll/8026949/webrev.00/ 
>>>>>> <http://cr.openjdk.java.net/%7Eanoll/8026949/webrev.00/>
>>>>>>
>>>>>> Problem: 8023014 introduced a wrong warning: Initialization of C1 
>>>>>> thread failed (no space to run compilers) when the VM is started
>>>>>>                with -Xint
>>>>>>
>>>>>> Solution: Do not start compiler threads if VM is started with -Xint
>>>>>>
>>>>>> Testing: -Xint flag does not print out the false warning. Tested 
>>>>>> flag combinations:
>>>>>>       -XX:+TieredCompilation -Xint (-server / -client)
>>>>>>       -XX:-TieredCompilation -Xint   (-server / -client)
>>>>>>
>>>>>>
>>>>>> Many thanks in advance,
>>>>>> Albert
>>>>>>
>>>>>
>>>>
>>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20131022/2eac33ca/attachment.html 


More information about the hotspot-compiler-dev mailing list