RFR: 8273933: [TESTBUG] Test must run without preallocated exceptions [v2]
Nils Eliasson
nils.eliasson at oracle.com
Mon Sep 20 14:06:28 UTC 2021
On 2021-09-20 08:11, Tobias Hartmann wrote:
> On Fri, 17 Sep 2021 14:20:07 GMT, Nils Eliasson <neliasso at openjdk.org> wrote:
>
>>> Executing vmTestbase/jit/t/t105/t105.java with the fix for (JDK-8273277) makes the test fail when run with the following arguments:
>>>
>>> -XX:+TieredCompilation
>>> -XX:Tier0BackedgeNotifyFreqLog=0
>>> -XX:Tier2BackedgeNotifyFreqLog=0
>>> -XX:Tier3BackedgeNotifyFreqLog=0
>>> -XX:Tier2BackEdgeThreshold=1
>>> -XX:Tier3BackEdgeThreshold=1
>>> -XX:Tier4BackEdgeThreshold=1
>>> -Xbatch
>>>
>>> The problem is that the tests expects a detailed message from ArrayIndexOutOfBoundsException, but this test will trigger the optimization that reuses preallocated exceptions that have an empty detailed exceptions.
>>>
>>> It is wrong for the test to assume exceptions messages.
>>>
>>> Solution disable preallocated exceptions with the flag -XX:-ProfileTraps.
>> Nils Eliasson has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Update copyright year
> Just wondering, why does `-XX:-OmitStackTraceInFastThrow` not help?
That flag should work too - both are needed:
if (treat_throw_as_hot
&& (!StackTraceInThrowable || OmitStackTraceInFastThrow)) {
Where treat_throw_as_hot is dependent on the ProfileTraps flag and the
trap count.
>
> -------------
>
> PR: https://git.openjdk.java.net/jdk/pull/5560
More information about the hotspot-compiler-dev
mailing list