[lworld] RFR: 8320225: [lworld] TestBasicFunctionality::test20 fails intermittently because it does not correctly handle coalescing of subword stores [v2]
Tobias Hartmann
thartmann at openjdk.org
Tue Nov 21 14:28:12 UTC 2023
> `TestBasicFunctionality::test20` fails intermittently if one of the randomly chosen field values of a value object is zero because that will lead to slightly different type information for the captured stores that initialize the object.
>
> Passing case:
>
> 299 StoreP === 330 375 285 290 [[ 302 304 ]] @rawptr:BotPTR, idx=Raw; Memory: @rawptr:BotPTR, idx=Raw;
> 304 StoreL === 330 299 289 302 [[ 308 ]] @null Memory: @rawptr:BotPTR, idx=Raw;
> 308 StoreNKlass === 330 304 306 331 [[ 316 ]] @null Memory: @rawptr:BotPTR, idx=Raw;
> 316 StoreI === 330 308 315 57 [[ 280 ]] @rawptr:BotPTR, idx=Raw; Memory: @rawptr:BotPTR, idx=Raw;
> 311 StoreL === 279 280 309 310 [[ 246 ]] @rawptr:BotPTR, idx=Raw; Memory: @rawptr:BotPTR, idx=Raw; !orig=[245],3161 !jvms: MyValue1::<vnew> @ bci:82 (line 57) MyValue1::setV4 @ bci:40 (line 178) MyValue1::createWithFieldsInline @ bci:106 (line 89) TestBasicFunctionality::test20 @ bci:6 (line 475)
> 246 StoreL === 279 311 254 188 [[ 314 ]] @compiler/valhalla/inlinetypes/MyValue2 (compiler/valhalla/inlinetypes/MyInterface):exact+24 *, name=l, idx=11; Memory: @rawptr:BotPTR, idx=Raw; !orig=3166 !jvms: MyValue1::<vnew> @ bci:82 (line 57) MyValue1::setV4 @ bci:40 (line 178) MyValue1::createWithFieldsInline @ bci:106 (line 89) TestBasicFunctionality::test20 @ bci:6 (line 475)
> 314 StoreL === 279 246 312 313 [[ 231 ]] @rawptr:BotPTR, idx=Raw; Memory: @rawptr:BotPTR, idx=Raw; !orig=[248],3178 !jvms: MyValue1::<vnew> @ bci:82 (line 57) MyValue1::setV4 @ bci:40 (line 178) MyValue1::createWithFieldsInline @ bci:106 (line 89) TestBasicFunctionality::test20 @ bci:6 (line 475)
>
>
> Failing case:
>
> 300 StoreP === 337 384 286 291 [[ 303 305 ]] @rawptr:BotPTR, idx=Raw; Memory: @rawptr:BotPTR, idx=Raw;
> 305 StoreL === 337 300 290 303 [[ 309 ]] @null Memory: @rawptr:BotPTR, idx=Raw;
> 309 StoreNKlass === 337 305 307 338 [[ 317 ]] @null Memory: @rawptr:BotPTR, idx=Raw;
> 317 StoreI === 337 309 316 57 [[ 343 ]] @rawptr:BotPTR, idx=Raw; Memory: @rawptr:BotPTR, idx=Raw;
> 343 StoreL === 337 317 322 184 [[ 281 ]] @rawptr:BotPTR, idx=Raw; Memory: @rawptr:BotPTR, idx=Raw; !orig=[323]
> 312 StoreL === 280 281 310 311 [[ 315 ]] @rawptr:BotPTR, idx=Raw; Memory: @rawptr:BotPTR, idx=Raw; !orig=[248],3163 !jvms: MyValue1::<vnew> @ bci:82 (line 57) MyValue1::setV4 @ bci:40 (line 178) MyValue1::createWithFieldsInline @ bci:106 (line 89) TestBasicFunctionality::test20 @ bci:6 (line 475)
> 315 StoreL === 280 312 313 314 [[ 234 ]] @ra...
Tobias Hartmann has updated the pull request incrementally with one additional commit since the last revision:
Removed it
-------------
Changes:
- all: https://git.openjdk.org/valhalla/pull/957/files
- new: https://git.openjdk.org/valhalla/pull/957/files/8a878522..5875bf01
Webrevs:
- full: https://webrevs.openjdk.org/?repo=valhalla&pr=957&range=01
- incr: https://webrevs.openjdk.org/?repo=valhalla&pr=957&range=00-01
Stats: 3 lines in 1 file changed: 0 ins; 2 del; 1 mod
Patch: https://git.openjdk.org/valhalla/pull/957.diff
Fetch: git fetch https://git.openjdk.org/valhalla.git pull/957/head:pull/957
PR: https://git.openjdk.org/valhalla/pull/957
More information about the valhalla-dev
mailing list