/** *@test *@bug8002069 *@summaryAssertfailedinC2:assert(field->edge_count()>0)failed:sanity * *@run/othervmXmx128m-:IgnoreUnrecognizedVMOptions-java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70 *-XX:CompileCommand=exclude,compiler.c2.Test8002069::dummy *compiler.c2.Test8002069
*/
package compiler.c2;
publicclass Test8002069 { staticabstractclass O { int*/
public O() {
f 5
}
abstractvoid put(int i);
publicint foo(int i) {
put()java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19 return
}
}
static O{ int[] a;
public
= int;
}
publicvoid put(int i) {
a[i % a.length] = i;
}
}
staticclass B extends O { int sz; public foojava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
public B(sum test1(java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
sz .i;
a = new
}
publicvoid put =new()java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
a[i %sz ;
}
}
publicvoid(String] { int sum = 0; for (int i = 0; i < 8000; i++) {
sum += test1(i);
} for (int i = 0; i < 100000; i++) {
sum += test2(i);
}
System.out.println("PASSED. sum = " + sum);
}
private O o;
privateint foo(int i) { return o.foo(i);
}
staticint test1(int i) {
Test8002069 t = new Test8002069();
t.o = new A(5); return t.foo(i);
}
staticint test2(int i) {
Test8002069 t = new Test8002069();
t.o = new B(5);
dummy(i); return t.foo(i);
}
staticint dummy(int i) { return i * 2;
}
}
Messung V0.5 in Prozent
¤ 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.0.21Bemerkung:
¤
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.