# HG changeset patch # User Morris Meyer # Date 1372605561 14400 # Node ID 6cb9516d70367f2925853b6abac0f8485926be09 # Parent 63d0eaa9b25d278942cf336c09bc16081f131ac0 Ensure compilation in System_currentTimeMillis02 diff -r 63d0eaa9b25d -r 6cb9516d7036 graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/jdk/System_currentTimeMillis02.java --- a/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/jdk/System_currentTimeMillis02.java Sat Jun 29 22:06:05 2013 -0400 +++ b/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/jdk/System_currentTimeMillis02.java Sun Jun 30 11:19:21 2013 -0400 @@ -29,15 +29,26 @@ */ public class System_currentTimeMillis02 extends JTTTest { + static void m(long[] times) { + times[1] = System.currentTimeMillis() - times[0]; + } + public static boolean test() { - long start = System.currentTimeMillis(); - long delta = 0; - for (int i = 0; delta == 0 && i < 5000000; i++) { - delta = System.currentTimeMillis() - start; + long times[] = new long[2]; // { start, delta } + times[0] = System.currentTimeMillis(); + times[1] = 0; + // force compilation: + for (int i = 0; i < 5000; i++) { + m(times); + } + times[0] = System.currentTimeMillis(); + times[1] = 0; + for (int i = 0; times[1] == 0 && i < 5000000; i++) { + m(times); // do nothing. } // better get at least 100 millisecond resolution. - return delta >= 1 && delta < 100; + return times[1] >= 1 && times[1] < 100; } @Test