[9] RFR (XS): 8148758: Compilation fails with "this call site should not be polymorphic"

Zoltán Majó zoltan.majo at oracle.com
Mon Feb 8 07:35:51 UTC 2016


Thank you, Vladimir, for the review!

Best regards,


Zoltan

On 02/05/2016 06:26 PM, Vladimir Kozlov wrote:
> Good.
>
> Thanks,
> Vladimir
>
> On 2/5/16 1:25 AM, Zoltán Majó wrote:
>> Hi,
>>
>>
>> please review the patch for 8148758.
>>
>> https://bugs.openjdk.java.net/browse/JDK-8148758
>>
>>
>> Problem: Compilation fails because the C2 compiler encounters
>> inconsistent profiling information.
>>
>> The reason for the failure is that the test changes the
>> OnStackReplacePercentage flag's value at runtime. Several other values
>> are computed based on the value of the OnStackReplacePercentage flag
>> (e.g., InvocationCounter::InterpreterBackwardBranchLimit,
>> MethodCounters::_interpreter_backward_branch_limit).
>>
>> As a result, changing the flag's value at runtime can put the VM into an
>> inconsistent state. Also, the WB API changes the value of the flag
>> without synchronization possibly leaving the flag in an inconsistent 
>> state.
>>
>>
>> Solution: The goal of IntxTest.java is to verify that getting/setting
>> flag values through the WB API works properly. The test changes the
>> flags OnStackReplacePercentage and InlineFrequencyCount. Both flags are
>> related only to compilation. Running the test in interpreter-only
>> guarantees that the VM is not put into an inconsistent state (because
>> the flag values are not used by the VM).
>>
>> Webrev:
>> http://cr.openjdk.java.net/~zmajo/8148758/webrev.00/
>>
>> Testing:
>> - JPRT with failing test;
>> - local testing with the failing test on a linux-x86_64 system.
>>
>> Thank you and best regards,
>>
>>
>> Zoltan
>>



More information about the hotspot-compiler-dev mailing list