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

Vladimir Kozlov vladimir.kozlov at oracle.com
Fri Feb 5 17:26:52 UTC 2016


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