RFR(S): 8086068: VM crashes with "-Xint -XX:+UseCompiler" options
tobias.hartmann at oracle.com
Thu Apr 21 07:35:17 UTC 2016
thanks for the review!
On 20.04.2016 22:17, Vladimir Kozlov wrote:
> An other interesting combination is -Xshare:dump -Xcomp (or -XX:+UseCompiler) because -Xshare:dump tries to disable compilation.
With "-Xshare:dump -XX:+UseCompiler", UseCompiler is disabled by this fix.
With "-Xshare:dump -Xcomp", UseCompiler is enabled but no compilations are triggered because DumpSharedSpaces is set and no bytecode is executed.
I checked several other combinations and did not encounter any problems.
> I think the fix is good for -Xint -XX:+UseCompiler combination.
Okay, I'm going to push this with the changes Dmitry suggested.
> On 4/20/16 7:22 AM, Tobias Hartmann wrote:
>> Hi Zoltan,
>> On 20.04.2016 16:02, Zoltán Majó wrote:
>>> There are some other flags that are set to 'false' with -Xint (UseLoopCounter, AlwaysCompileLoopMethods, and UseOnStackReplacement). Do you know if re-enabling any of those causes problems?
>> I checked and combining them with -Xint does not cause any problems because they are guarded by UseCompiler.
>>> Otherwise it looks good to me.
>> Thanks for the review!
>> Best regards,
>>> Best regards,
>>> On 04/20/2016 03:46 PM, Tobias Hartmann wrote:
>>>> please review the following patch:
>>>> The VM crashes in product or fails with an assert in debug if -Xint and -XX:+UseCompiler is set. This is because CodeCache::heap_available() relies on the fact that if Arguments::mode() == _int, no compilation will be triggered. Although UseCompiler is first disabled by -Xint, the flag may be re-enabled if set via command line.
>>>> The solution is to catch such an inconsistent flag combination, issue a warning and reset the flag.
>>>> Tested with regression test and RBT (running).
More information about the hotspot-compiler-dev