8066103: C2's range check smearing allows out of bound array accesses
Roland Westrelin
roland.westrelin at oracle.com
Tue Dec 9 18:04:49 UTC 2014
>>> That's good; let's do it that way!
>>>
>>> Final suggestion (really): Add some more test cases, containing duplicate array indexes, to exercise the "local" logic.
>>
>> Thanks John. I’ll add some test cases. Do you want to see another webrev with test cases?
>
> I'd like to look at it, so please update the webrev, but you can proceed with a thumbs up from me as a reviewer no matter what.
Here is a new webrev for the change I intend to push today:
http://cr.openjdk.java.net/~roland/8066103/webrev.04/
It has more test cases and the previous change had some leftover code:
939 if (rc0.ctl->in(0)->in(1) == in(1)) {
940 // If we match the test exactly, then the top test covers
941 // both our lower and upper bounds. Valid only if there's no
942 // other range check between us and the top test: for all we
943 // know this range check was widened and accesses that
944 // depend on it also depend on the previous range checks to
945 // be correct.
946 prev_dom = rc0.ctl;
947 } else {
Roland.
More information about the hotspot-compiler-dev
mailing list