staticvoid m(int[] a, int[] b, int j) { // Array bound check elimination inserts a predicate before // the loop. We'll have the predicate fail, so the method is // recompiled without optimistic optimizations for (int i = 0; i < 10; i++) {
a[i] = i;
}
// The test itself
a[j] = 0;
a[j+5] = 0;
b[j+4] = 0; // this range check shouldn't be eliminated
}
staticpublicvoid main(String[] args) { int[] arr1 = newint[10], arr2 = newint[10]; // force compilation: for (int i = 0; i < 5000; i++) {
m(arr1, arr2, 0);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.