< prev index next >

src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/EventProvider.java

Print this page
rev 12121 : 8167180: [JVMCI] Exported elements referring to inaccessible types in jdk.vm.ci

*** 18,79 **** * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ ! package jdk.vm.ci.hotspot.services; ! import jdk.vm.ci.hotspot.services.EmptyEventProvider.EmptyCompilationEvent; ! import jdk.vm.ci.hotspot.services.EmptyEventProvider.EmptyCompilerFailureEvent; import jdk.vm.ci.services.JVMCIPermission; /** * Service-provider class for logging compiler related events. */ ! public abstract class EventProvider { ! ! private static Void checkPermission() { ! SecurityManager sm = System.getSecurityManager(); ! if (sm != null) { ! sm.checkPermission(new JVMCIPermission()); ! } ! return null; ! } ! ! @SuppressWarnings("unused") ! EventProvider(Void ignore) { ! } ! ! /** ! * Initializes a new instance of this class. ! * ! * @throws SecurityException if a security manager has been installed and it denies ! * {@link JVMCIPermission} ! */ ! protected EventProvider() { ! this(checkPermission()); ! } /** * Creates and returns an empty implementation for {@link EventProvider}. This implementation * can be used when no logging is requested. */ ! public static EventProvider createEmptyEventProvider() { return new EmptyEventProvider(); } /** * Creates and returns an empty implementation for {@link CompilationEvent}. */ ! public static CompilationEvent createEmptyCompilationEvent() { return new EmptyCompilationEvent(); } /** * Creates and returns an empty implementation for {@link CompilationEvent}. */ ! public static CompilerFailureEvent createEmptyCompilerFailureEvent() { return new EmptyCompilerFailureEvent(); } /** * An instant event is an event that is not considered to have taken any time. --- 18,57 ---- * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ ! package jdk.vm.ci.hotspot; ! import jdk.vm.ci.hotspot.EmptyEventProvider.EmptyCompilationEvent; ! import jdk.vm.ci.hotspot.EmptyEventProvider.EmptyCompilerFailureEvent; import jdk.vm.ci.services.JVMCIPermission; /** * Service-provider class for logging compiler related events. */ ! public interface EventProvider { /** * Creates and returns an empty implementation for {@link EventProvider}. This implementation * can be used when no logging is requested. */ ! static EventProvider createEmptyEventProvider() { return new EmptyEventProvider(); } /** * Creates and returns an empty implementation for {@link CompilationEvent}. */ ! static CompilationEvent createEmptyCompilationEvent() { return new EmptyCompilationEvent(); } /** * Creates and returns an empty implementation for {@link CompilationEvent}. */ ! static CompilerFailureEvent createEmptyCompilerFailureEvent() { return new EmptyCompilerFailureEvent(); } /** * An instant event is an event that is not considered to have taken any time.
< prev index next >