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

igor.ignatyev@oracle.com igor.ignatyev at oracle.com
Tue Oct 22 11:34:32 PDT 2013


Albert, please add a jtreg test for this change. I think it is very easy: just start 'java -version' as a external process and check its output in 'Xint' and '-Xcomp' cases. If you don't think so, please file a RFE to add regression test and assign it to me.

Thanks.
- Igor

----- Reply message -----
From: "Albert Noll" <albert.noll at oracle.com>
To: "Igor Veresov" <igor.veresov at oracle.com>
Cc: "hotspot-compiler-dev at openjdk.java.net" <hotspot-compiler-dev at openjdk.java.net>
Subject: RFR(S): 8026949: -Xint flag prints wrong warning: Initialization of C1 thread failed (no space to run compilers)
Date: Tue, Oct 22, 2013 22:03

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>
wrote:





Thanks Igor. This is a good
solution.



Here is the webrev:


http://cr.openjdk.java.net/~anoll/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>

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>


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/



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/5618c839/attachment.html 


More information about the hotspot-compiler-dev mailing list