# HG changeset patch # User Jaroslav Tulach # Date 1360159782 -3600 # Node ID 327a6da275d6fe0b3e1affe16875f072ad070ef9 # Parent 5d9cd8add4c6ba8e8ff172c5ff38b9505dd7408a# Parent 93196a859fc5209d68b1e65be37fc24c187b986a Merge from default branch diff -r 5d9cd8add4c6 -r 327a6da275d6 emul/mini/src/main/java/org/apidesign/bck2brwsr/emul/lang/System.java --- a/emul/mini/src/main/java/org/apidesign/bck2brwsr/emul/lang/System.java Tue Feb 05 15:32:41 2013 +0100 +++ b/emul/mini/src/main/java/org/apidesign/bck2brwsr/emul/lang/System.java Wed Feb 06 15:09:42 2013 +0100 @@ -48,6 +48,9 @@ @JavaScriptBody(args = {}, body = "new Date().getMilliseconds();") public static native long currentTimeMillis(); + public static long nanoTime() { + return 1000000L * currentTimeMillis(); + } @JavaScriptBody(args = { "obj" }, body="return vm.java_lang_Object(false).hashCode__I.call(obj);") public static native int identityHashCode(Object obj); diff -r 5d9cd8add4c6 -r 327a6da275d6 vmtest/src/main/java/org/apidesign/bck2brwsr/vmtest/impl/LaunchSetup.java --- a/vmtest/src/main/java/org/apidesign/bck2brwsr/vmtest/impl/LaunchSetup.java Tue Feb 05 15:32:41 2013 +0100 +++ b/vmtest/src/main/java/org/apidesign/bck2brwsr/vmtest/impl/LaunchSetup.java Wed Feb 06 15:09:42 2013 +0100 @@ -31,13 +31,19 @@ public final class LaunchSetup { static LaunchSetup INSTANCE = new LaunchSetup(); - private final Launcher js = Launcher.createJavaScript(); + private Launcher js; private final Map brwsrs = new LinkedHashMap<>(); private LaunchSetup() { } - public Launcher javaScript() { + public Launcher javaScript() { + return js(true); + } + private synchronized Launcher js(boolean create) { + if (js == null && create) { + js = Launcher.createJavaScript(); + } return js; } @@ -52,7 +58,9 @@ @BeforeGroups("run") public void initializeLauncher() throws IOException { - js.initialize(); + if (js(false) != null) { + js(true).initialize(); + } for (Launcher launcher : brwsrs.values()) { launcher.initialize(); } @@ -60,7 +68,9 @@ @AfterGroups("run") public void shutDownLauncher() throws IOException, InterruptedException { - js.shutdown(); + if (js(false) != null) { + js(true).shutdown(); + } for (Launcher launcher : brwsrs.values()) { launcher.shutdown(); }