-
Enhancement
-
Resolution: Unresolved
-
P4
-
23
Some of the runtime/stack/Stack0*.java tests make assumptions about how/when the code is executed and the relative frames sizes of interpreter and JIT compiled frames.
Furthermore, consider this example:
static void recurse(int depth) {
if (depth > 0) {
recurse(depth - 1);
}
}
static void test() {
try {
recurse(100_000_000);
throw new AssertionError();
} catch (StackOverflowError e) {
// OK
}
}
It's possible for a JIT compiler with an advanced inliner to completely unroll the call to `recurse` from `test` since there is no side-effect for each recursive call. In this case, the test would fail.
Furthermore, consider this example:
static void recurse(int depth) {
if (depth > 0) {
recurse(depth - 1);
}
}
static void test() {
try {
recurse(100_000_000);
throw new AssertionError();
} catch (StackOverflowError e) {
// OK
}
}
It's possible for a JIT compiler with an advanced inliner to completely unroll the call to `recurse` from `test` since there is no side-effect for each recursive call. In this case, the test would fail.
- relates to
-
JDK-8278415 [TESTBUG] vmTestbase/nsk/stress/stack/stack018.java fails with "java.lang.Error: TEST_RFE"
-
- Resolved
-
-
JDK-8328312 runtime/stack/Stack0*.java fails intermittently on libgraal
-
- Resolved
-
-
JDK-8326611 Clean up vmTestbase/nsk/stress/stack tests
-
- Resolved
-
-
JDK-8319954 vmTestbase/nsk/stress/stack/stack010.java fails transiently on libgraal
-
- Open
-
-
JDK-8328858 More runtime/stack tests fail intermittently on libgraal
-
- Resolved
-