8252108: Modify nsk/stress/stack tests to check page size

Reviewed-by: hseigel, stuefe
This commit is contained in:
Nick Gasson 2020-08-26 11:28:10 +08:00
parent 25af8d8f69
commit 7856c1a311
5 changed files with 17 additions and 8 deletions

View File

@ -58,6 +58,7 @@ requires.properties= \
vm.jvmci \ vm.jvmci \
vm.emulatedClient \ vm.emulatedClient \
vm.cpu.features \ vm.cpu.features \
vm.pageSize \
vm.debug \ vm.debug \
vm.hasSA \ vm.hasSA \
vm.hasJFR \ vm.hasJFR \

View File

@ -44,10 +44,10 @@
* and 1.4 on Win32. * and 1.4 on Win32.
* See the bug: * See the bug:
* 4366625 (P4/S4) multiple stack overflow causes HS crash * 4366625 (P4/S4) multiple stack overflow causes HS crash
* The stack size is too small to run on aarch64. Making it bigger * The stack size is too small to run on systems with > 4K page size.
* could cause timeouts on other platform. * Making it bigger could cause timeouts on other platform.
* *
* @requires (vm.opt.DeoptimizeALot != true & vm.compMode != "Xcomp" & os.arch != "aarch64") * @requires (vm.opt.DeoptimizeALot != true & vm.compMode != "Xcomp" & vm.pageSize == 4096)
* @run main/othervm/timeout=900 -Xss200K nsk.stress.stack.stack008 * @run main/othervm/timeout=900 -Xss200K nsk.stress.stack.stack008
*/ */

View File

@ -46,10 +46,10 @@
* See the bug: * See the bug:
* 4366625 (P4/S4) multiple stack overflow causes HS crash * 4366625 (P4/S4) multiple stack overflow causes HS crash
* *
* @requires (vm.opt.DeoptimizeALot != true & vm.compMode != "Xcomp") * @requires (vm.opt.DeoptimizeALot != true & vm.compMode != "Xcomp" & vm.pageSize == 4096)
* @library /vmTestbase * @library /vmTestbase
* @build nsk.share.Terminator * @build nsk.share.Terminator
* @run main/othervm/timeout=900 -Xss448K nsk.stress.stack.stack018 -eager * @run main/othervm/timeout=900 -Xss220K nsk.stress.stack.stack018 -eager
*/ */
package nsk.stress.stack; package nsk.stress.stack;

View File

@ -38,10 +38,10 @@
* Solaris and Win32 platforms. * Solaris and Win32 platforms.
* See the bug: * See the bug:
* 4366625 (P4/S4) multiple stack overflow causes HS crash * 4366625 (P4/S4) multiple stack overflow causes HS crash
* The stack size is too small to run on aarch64. Making it bigger * The stack size is too small to run on systems with > 4K page size.
* could cause timeouts on other platform. * Making it bigger could cause timeouts on other platform.
* *
* @requires (vm.opt.DeoptimizeALot != true & vm.compMode != "Xcomp" & os.arch != "aarch64") * @requires (vm.opt.DeoptimizeALot != true & vm.compMode != "Xcomp" & vm.pageSize == 4096)
* @requires os.family != "windows" * @requires os.family != "windows"
* @library /vmTestbase * @library /vmTestbase
* @build nsk.share.Terminator * @build nsk.share.Terminator

View File

@ -101,6 +101,7 @@ public class VMProps implements Callable<Map<String, String>> {
map.put("vm.hasJFR", this::vmHasJFR); map.put("vm.hasJFR", this::vmHasJFR);
map.put("vm.jvmti", this::vmHasJVMTI); map.put("vm.jvmti", this::vmHasJVMTI);
map.put("vm.cpu.features", this::cpuFeatures); map.put("vm.cpu.features", this::cpuFeatures);
map.put("vm.pageSize", this::vmPageSize);
map.put("vm.rtm.cpu", this::vmRTMCPU); map.put("vm.rtm.cpu", this::vmRTMCPU);
map.put("vm.rtm.compiler", this::vmRTMCompiler); map.put("vm.rtm.compiler", this::vmRTMCompiler);
map.put("vm.aot", this::vmAOT); map.put("vm.aot", this::vmAOT);
@ -441,6 +442,13 @@ public class VMProps implements Callable<Map<String, String>> {
return "" + ("true".equals(vmCDS()) && WB.isJavaHeapArchiveSupported()); return "" + ("true".equals(vmCDS()) && WB.isJavaHeapArchiveSupported());
} }
/**
* @return System page size in bytes.
*/
protected String vmPageSize() {
return "" + WB.getVMPageSize();
}
/** /**
* Check if Graal is used as JIT compiler. * Check if Graal is used as JIT compiler.
* *