RFR: 8356760: VectorAPI: Optimize VectorMask.fromLong for all-true/all-false cases [v7]
erifan
duke at openjdk.org
Wed Jul 30 06:16:57 UTC 2025
On Tue, 29 Jul 2025 08:21:57 GMT, Christian Hagedorn <chagedorn at openjdk.org> wrote:
>> erifan has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Move the assertion to the beginning of the code block
>
> Testing is currently slow - still running but I report what I have so far. There is one test failure on `linux-aarch64-debug` and `macosx-aarch64-debug` with the new test `VectorMaskToLongTest.java`:
>
> Additional flags: `-ea -esa -XX:CompileThreshold=100 -XX:+UnlockExperimentalVMOptions -server -XX:-TieredCompilation` (probably only related to `-XX:-TieredComilation`, maybe we have not enough profiling and need to increase the warm-up but that's just a wild guess without looking at the test)
>
> <details>
> <summary>Log</summary>
>
> Compilations (5) of Failed Methods (5)
> --------------------------------------
> 1) Compilation of "public static void compiler.vectorapi.VectorMaskToLongTest.testFromLongToLongByte()":
>> Phase "PrintIdeal":
> AFTER: print_ideal
> 0 Root === 0 203 230 269 270 [[ 0 1 3 225 198 189 23 186 167 28 44 124 104 54 277 295 ]] inner
> 1 Con === 0 [[ ]] #top
> 3 Start === 3 0 [[ 3 5 6 7 8 9 ]] #{0:control, 1:abIO, 2:memory, 3:rawptr:BotPTR, 4:return_address}
> 5 Parm === 3 [[ 168 ]] Control !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:-1 (line 182)
> 6 Parm === 3 [[ 168 ]] I_O !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:-1 (line 182)
> 7 Parm === 3 [[ 168 279 286 ]] Memory Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:-1 (line 182)
> 8 Parm === 3 [[ 270 269 255 233 230 199 203 168 226 ]] FramePtr !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:-1 (line 182)
> 9 Parm === 3 [[ 270 269 199 226 ]] ReturnAdr !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:-1 (line 182)
> 23 ConP === 0 [[ 255 168 ]] #jdk/incubator/vector/ByteVector$ByteSpecies (jdk/incubator/vector/VectorSpecies):exact * Oop:jdk/incubator/vector/ByteVector$ByteSpecies (jdk/incubator/vector/VectorSpecies):exact *
> 28 ConI === 0 [[ 168 ]] #int:1
> 44 ConI === 0 [[ 168 ]] #int:16
> 54 ConL === 0 [[ 255 233 168 168 199 ]] #long:65534
> 104 ConP === 0 [[ 168 ]] #java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact * Oop:java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *
> 124 ...
Hi @chhagedorn , I have increased the warm up times, could you help test the PR again ? Thanks!
-------------
PR Comment: https://git.openjdk.org/jdk/pull/25793#issuecomment-3134981739
More information about the hotspot-compiler-dev
mailing list