From f01f98878c0ac84210198a6060b95ae364252b3c Mon Sep 17 00:00:00 2001 From: "John A. Thywissen" Date: Fri, 13 Jan 2017 15:51:01 -0600 Subject: [PATCH] Add note about new JVM argument UseCountedLoopSafepoints --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 84cbca2..80207ba 100644 --- a/README.md +++ b/README.md @@ -69,3 +69,9 @@ The `TestLog` class provides hooks for a status UI: subclass and override the th The framework also supplies a security policy utility class that simplifies adding permissions to the policy, without the hassle of a security policy configuration file. There is more detail in the [BevoTest JavaDoc](https://www.cs.utexas.edu/~jthywiss/bevotest-doc/index.html). + +## Making Timeout Handling Work Everywhere ## + +_Background:_ BevoTest handles test case executions that exceed the time limit by using certain Java functions that require Java Virtual Machine "safe point" checks. Unfortunately, these checks are not inserted into loops that are considered too insignificant by the Java Virtual Machine to warrant the overhead of safe point checks. These is mainly loops with `int` counters. If the code under test exceeds the timeout in one of these loops, BevoTest's attempts to terminate the test will not work. Fortunately, we now have a fix. + +Update to Java SE 8 Update 91 or later, and add the `-XX:+UseCountedLoopSafepoints` VM argument to your `java` command.