From 7782621617f66e2bf4503094df22d6183e8a5957 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Mon, 13 May 2013 16:02:29 +0400 Subject: [PATCH] Do not look for instrumenters in TIME mode --- .../org/jetbrains/jet/preloading/Preloader.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/compiler/preloader/src/org/jetbrains/jet/preloading/Preloader.java b/compiler/preloader/src/org/jetbrains/jet/preloading/Preloader.java index 07d9b6e644d..d877a65e499 100644 --- a/compiler/preloader/src/org/jetbrains/jet/preloading/Preloader.java +++ b/compiler/preloader/src/org/jetbrains/jet/preloading/Preloader.java @@ -99,9 +99,7 @@ public class Preloader { private static Handler getHandler(ProfilingMode profilingMode, ClassLoader withInstrumenter) { if (profilingMode == ProfilingMode.NO_TIME) return new Handler(); - ServiceLoader loader = ServiceLoader.load(Instrumenter.class, withInstrumenter); - Iterator instrumenters = loader.iterator(); - final Instrumenter instrumenter = instrumenters.hasNext() ? instrumenters.next() : Instrumenter.DO_NOTHING; + final Instrumenter instrumenter = profilingMode == ProfilingMode.PROFILE ? loadInstrumenter(withInstrumenter) : null; final int[] counter = new int[1]; final int[] size = new int[1]; @@ -127,6 +125,18 @@ public class Preloader { }; } + private static Instrumenter loadInstrumenter(ClassLoader withInstrumenter) { + ServiceLoader loader = ServiceLoader.load(Instrumenter.class, withInstrumenter); + Iterator instrumenters = loader.iterator(); + if (instrumenters.hasNext()) { + return instrumenters.next(); + } + else { + System.err.println("No instrumenters found"); + return Instrumenter.DO_NOTHING; + } + } + private enum ProfilingMode { NO_TIME, TIME,