--- old/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.properties 2019-05-21 22:52:05.448512800 +0200 +++ new/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.properties 2019-05-21 22:52:05.318509300 +0200 @@ -301,9 +301,9 @@ GcLockerRule_TEXT_NA=No GC information events found. GcLockerRuleFactory_RULE_NAME=GCs Caused by GC Locker # {0} is a percentage -GcLockerRuleFactory_TEXT_INFO=The GC Locker caused {0} of the garbage collections. -GcLockerRuleFactory_TEXT_INFO_LONG=Garbage collections caused by the GC Locker indicates that the runtime ran a lot of JNI code. To avoid this decrease the time spent in JNI. -GcLockerRuleFactory_TEXT_OK=The GC Locker did not cause any garbage collections. +GcLockerRuleFactory_TEXT_INFO={0} of the garbage collections were affected by GC Locker. +GcLockerRuleFactory_TEXT_INFO_LONG=Garbage collections affected by GC Locker indicates that the runtime ran JNI code (using JNI Get*Critical) to (possibly) gain direct access to a string or an array. Some garbage collectors will need for the object to be released before being able to proceed. If this becomes a big problem, either avoid relying on (JNI) code requiring this behavior or switch to a garbage collection algorithm which handles this more graciously (for example pinning the object or pinning the memory region wherein it is located). +GcLockerRuleFactory_TEXT_OK=No GCs were affected by the GC Locker. GcStallRule_RULE_NAME=GC Stall GcStallRule_TEXT_OK=No indications that the garbage collector could not keep up with the workload were detected. General_CONFIG_CLASS_LIMIT=Class limit