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