equal
deleted
inserted
replaced
23 |
23 |
24 /* |
24 /* |
25 * @test |
25 * @test |
26 * @bug 8029383 |
26 * @bug 8029383 |
27 * @summary stack overflow if callee is marked for deoptimization causes crash |
27 * @summary stack overflow if callee is marked for deoptimization causes crash |
28 * @run main/othervm -XX:TieredStopAtLevel=1 -XX:-BackgroundCompilation -XX:CompileCommand=dontinline,StackOverflowGuardPagesOff::m1 -XX:CompileCommand=exclude,StackOverflowGuardPagesOff::m2 -Xss512K -XX:-UseOnStackReplacement StackOverflowGuardPagesOff |
28 * |
29 * |
29 * @run main/othervm -XX:TieredStopAtLevel=1 -XX:-BackgroundCompilation |
|
30 * -XX:CompileCommand=dontinline,compiler.uncommontrap.StackOverflowGuardPagesOff::m1 |
|
31 * -XX:CompileCommand=exclude,compiler.uncommontrap.StackOverflowGuardPagesOff::m2 |
|
32 * -Xss512K -XX:-UseOnStackReplacement |
|
33 * compiler.uncommontrap.StackOverflowGuardPagesOff |
30 */ |
34 */ |
|
35 |
|
36 package compiler.uncommontrap; |
31 |
37 |
32 // This test calls m2 recursively until a stack overflow. Then calls |
38 // This test calls m2 recursively until a stack overflow. Then calls |
33 // m3 that calls m1. m1 triggers B's class loading, as a result m1 and |
39 // m3 that calls m1. m1 triggers B's class loading, as a result m1 and |
34 // m3 needs to be deoptimized. Deoptimization of m1 causes a stack |
40 // m3 needs to be deoptimized. Deoptimization of m1 causes a stack |
35 // overflow exception to be thrown which is propagated to m3 in the |
41 // overflow exception to be thrown which is propagated to m3 in the |