On Mon, 2 Nov 2026 16:10:03 GMT, jonghoonpark <[email protected]> wrote:
>> Overall this looks good but I prefer the more verbose output of the original
>> reproducer. Can you include some of that output with the test run?
>>
>> Also, shouldn't the test assert that it always finds the
>> Location.Type.VECTOR type (and you might want to note in the test output
>> when it is found).
>
> @plummercj Thanks for the review!
>
> I’ve updated the test to print more verbose output, similar to the original
> reproducer. It now prints the ScopeDesc, ObjectValue and ScopeValue being
> inspected, and notes when a VECTOR location is found.
>
> Here’s part of the output from a test run:
>
>
> ### ScopeDesc:
> ScopeDesc for Method LingeredAppWithVector.test([I)I@0x0000000116401470 @bci
> 9 reexecute=false
>
> ## ObjectValue:
> scalarObj[45]
> # ScopeValue:
> Value 7, stack[0],vector
> Found a Location of type vector
>
>
> Regarding the assertion: the test already fails if no `Location.Type.VECTOR`
> is found. The `if (!vectorFound)` check at the end of `checkDecode()` throws
> in that case, so the test can’t pass silently without encountering a VECTOR
> location.
@dev-jonghoonpark When I run the test with `-XX:+UnlockExperimentalVMOptions
-XX:-EnableVectorReboxing`, I get the following test failure:
STDERR:
stdout: [### ScopeDesc:
ScopeDesc for Method LingeredAppWithVector.test()D@0x00007fedfc70f058 @bci 416
reexecute=false
## ObjectValue:
scalarObj[2798]
jdk/incubator/vector/ByteVectorMax
# ScopeValue:
Value 258, stack[32],oop
## ObjectValue:
scalarObj[2799]
jdk/incubator/vector/ShortVectorMax
# ScopeValue:
Value 322, stack[40],oop
## ObjectValue:
scalarObj[2800]
jdk/incubator/vector/IntVectorMax
# ScopeValue:
Value 386, stack[48],oop
## ObjectValue:
scalarObj[2801]
jdk/incubator/vector/LongVectorMax
# ScopeValue:
Value 450, stack[56],oop
## ObjectValue:
scalarObj[2802]
jdk/incubator/vector/FloatVectorMax
# ScopeValue:
Value 514, stack[64],oop
## ObjectValue:
scalarObj[2803]
jdk/incubator/vector/DoubleVectorMax
# ScopeValue:
Value 578, stack[72],oop
## Heap Object:
jdk/incubator/vector/Float16VectorMax
# Payload:
[S
## ObjectValue:
scalarObj[2804]
jdk/incubator/vector/ByteVector512
# ScopeValue:
Value 706, stack[88],oop
## ObjectValue:
scalarObj[2805]
jdk/incubator/vector/ShortVector512
# ScopeValue:
Value 770, stack[96],oop
## ObjectValue:
scalarObj[2806]
jdk/incubator/vector/IntVector512
# ScopeValue:
Value 834, stack[104],oop
## ObjectValue:
scalarObj[2807]
jdk/incubator/vector/LongVector512
# ScopeValue:
Value 898, stack[112],oop
## ObjectValue:
scalarObj[2808]
jdk/incubator/vector/FloatVector512
# ScopeValue:
Value 962, stack[120],oop
## ObjectValue:
scalarObj[2809]
jdk/incubator/vector/DoubleVector512
# ScopeValue:
Value 1026, stack[128],oop
## Heap Object:
jdk/incubator/vector/Float16Vector512
# Payload:
[S
## ObjectValue:
scalarObj[2810]
jdk/incubator/vector/ByteVector256
# ScopeValue:
Value 1154, stack[144],oop
## ObjectValue:
scalarObj[2811]
jdk/incubator/vector/ShortVector256
# ScopeValue:
Value 1218, stack[152],oop
## ObjectValue:
scalarObj[2812]
jdk/incubator/vector/IntVector256
# ScopeValue:
Value 1282, stack[160],oop
## ObjectValue:
scalarObj[2813]
jdk/incubator/vector/LongVector256
# ScopeValue:
Value 1346, stack[168],oop
## ObjectValue:
scalarObj[2814]
jdk/incubator/vector/FloatVector256
# ScopeValue:
Value 1410, stack[176],oop
## ObjectValue:
scalarObj[2815]
jdk/incubator/vector/DoubleVector256
# ScopeValue:
Value 1474, stack[184],oop
## Heap Object:
jdk/incubator/vector/Float16Vector256
# Payload:
[S
## ObjectValue:
scalarObj[2816]
jdk/incubator/vector/ByteVector128
# ScopeValue:
Value 1602, stack[200],oop
## ObjectValue:
scalarObj[2817]
jdk/incubator/vector/ShortVector128
# ScopeValue:
Value 1666, stack[208],oop
## ObjectValue:
scalarObj[2818]
jdk/incubator/vector/IntVector128
# ScopeValue:
Value 1730, stack[216],oop
## ObjectValue:
scalarObj[2819]
jdk/incubator/vector/LongVector128
# ScopeValue:
Value 1794, stack[224],oop
## ObjectValue:
scalarObj[2820]
jdk/incubator/vector/FloatVector128
# ScopeValue:
Value 1858, stack[232],oop
## ObjectValue:
scalarObj[2821]
jdk/incubator/vector/DoubleVector128
# ScopeValue:
Value 1922, stack[240],oop
## Heap Object:
jdk/incubator/vector/Float16Vector128
# Payload:
[S
## ObjectValue:
scalarObj[2822]
jdk/incubator/vector/ByteVector64
# ScopeValue:
Value 2050, stack[256],oop
## ObjectValue:
scalarObj[2823]
jdk/incubator/vector/ShortVector64
# ScopeValue:
Value 2114, stack[264],oop
## ObjectValue:
scalarObj[2824]
jdk/incubator/vector/IntVector64
# ScopeValue:
Value 2178, stack[272],oop
## Heap Object:
jdk/incubator/vector/LongVector64
# Payload:
[J
## ObjectValue:
scalarObj[2825]
jdk/incubator/vector/FloatVector64
# ScopeValue:
Value 338, reg 10,oop
## Heap Object:
jdk/incubator/vector/DoubleVector64
# Payload:
[D
## Heap Object:
jdk/incubator/vector/Float16Vector64
# Payload:
[S
];
stderr: [Exception in thread "main" java.lang.RuntimeException: Mandatory
vector locations not found. missing: [jdk/incubator/vector/ShortVector64,
jdk/incubator/vector/ByteVector128, jdk/incubator/vector/Float16Vector128,
jdk/incubator/vector/IntVectorMax, jdk/incubator/vector/FloatVector128,
jdk/incubator/vector/ShortVectorMax, jdk/incubator/vector/FloatVector64,
jdk/incubator/vector/ByteVector64, jdk/incubator/vector/IntVector64,
jdk/incubator/vector/DoubleVector128, jdk/incubator/vector/LongVector128,
jdk/incubator/vector/Float16Vector64, jdk/incubator/vector/IntVector128,
jdk/incubator/vector/ByteVectorMax, jdk/incubator/vector/LongVectorMax,
jdk/incubator/vector/Float16VectorMax, jdk/incubator/vector/DoubleVectorMax,
jdk/incubator/vector/FloatVectorMax, jdk/incubator/vector/ShortVector128],
extra: []
at
TestVectorDebugInfoDecode.checkDecode(TestVectorDebugInfoDecode.java:242)
at TestVectorDebugInfoDecode.main(TestVectorDebugInfoDecode.java:296)
]
exitValue = 1
java.lang.RuntimeException: Expected to get exit value of [0], exit value is:
[1]
at
jdk.test.lib.process.OutputAnalyzer.shouldHaveExitValue(OutputAnalyzer.java:602)
at
TestVectorDebugInfoDecode.createAnotherToAttach(TestVectorDebugInfoDecode.java:273)
at TestVectorDebugInfoDecode.main(TestVectorDebugInfoDecode.java:291)
at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:583)
at
com.sun.javatest.regtest.agent.MainMethodHelper.executeModernMainClass(MainMethodHelper.java:56)
at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:140)
at java.base/java.lang.Thread.run(Thread.java:1552)
-------------
PR Comment: https://git.openjdk.org/jdk/pull/33665#issuecomment-6790314328