[1] RFR (S) 8179019: Correct range checks for command-line options ArraycopySrcPrefetchDistance and ArraycopyDstPrefetchDistance
Zoltán Majó
zoltan.majo at oracle.com
Mon Apr 24 15:20:38 UTC 2017
Hi,
please review the following fix for 8179019.
https://bugs.openjdk.java.net/browse/JDK-8179019
http://cr.openjdk.java.net/~zmajo/8179019/webrev.00/
Currently, the HotSpot allows Arraycopy{Src|Dst}PrefetchDistance only
one value. Before JDK-8078554, values in the interval [0, 4096] were
allowed (without explicit checking, though).
This change extends the set of values allowed to the interval [0, 4031].
We need the high bound 4032 (instead of 4096) because of [1]: the
largest value of offset is 64, so 4031 + 64 = 4095 is the maximum that
fits into the signed range of 13 bits. The change also includes
suggestions by Vladimir K [2] to avoid using too large immediate values.
I tested the change manually with some values from both ends of the
range and also with JPRT (incl. the currently disabled
TestOptionsWithRanges.java test).
Thank you!
Best regards,
Zoltan
[1]
http://hg.openjdk.java.net/jdk10/hs/hotspot/file/1617b39a1ae4/src/cpu/sparc/vm/stubGenerator_sparc.cpp#l2128
[2]
https://bugs.openjdk.java.net/browse/JDK-8179019?focusedCommentId=14071776&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14071776
More information about the hotspot-compiler-dev
mailing list