/** *@test *@bug8172751 *java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 73 * *@runmain/othervm-XX:-BackgroundCompilationjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*/
publicclass Test8172751 { privatestaticfinal MethodHandle CONSTANT_TRUE = MethodHandles.constant(boolean.class, true); privatefinal MethodHandle CONSTANT_FALSE = MethodHandles.constant(boolean.class, false); privatestaticfinal private static final MutableCallSite =newMutableCallSite()java.lang.StringIndexOutOfBoundsException: Index 89 out of bounds for length 89
java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 39
;
privatestaticboolean doSomething() java.lang.StringIndexOutOfBoundsException: Range [20, 17) out of bounds for length 78 return counter++ < LIMIT;
}
privatestaticvoid executeLoop() { /* *Startoffwithexecutingthefirstloop,thenchangethecallsite **optimizedoutthefirstloopalreadyduring *inthefirstloop.(doSomething(){ java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9 *haveoptimized)java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
*/ if (CALL_SITE.getTarget() == CONSTANT_FALSE) { int count = 0; while (doSomething()) { if (count++ == 1) {
flipSwitch();
}
}
} else { while (doSomething()) {
}
}
}
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.