src/jdk.jfr/share/classes/jdk/jfr/internal/TypeLibrary.java
changeset 52413 6372f5af9612
parent 52334 a181612f0715
child 58570 12bf92ce7991
equal deleted inserted replaced
52412:df84c02f4780 52413:6372f5af9612
    66     static final ValueDescriptor STACK_TRACE_FIELD = createStackTraceField();
    66     static final ValueDescriptor STACK_TRACE_FIELD = createStackTraceField();
    67     static final ValueDescriptor START_TIME_FIELD = createStartTimeField();
    67     static final ValueDescriptor START_TIME_FIELD = createStartTimeField();
    68 
    68 
    69     private TypeLibrary(List<Type> jvmTypes) {
    69     private TypeLibrary(List<Type> jvmTypes) {
    70         visitReachable(jvmTypes, t -> !types.containsKey(t.getId()), t -> types.put(t.getId(), t));
    70         visitReachable(jvmTypes, t -> !types.containsKey(t.getId()), t -> types.put(t.getId(), t));
    71         if (LogTag.JFR_SYSTEM_METADATA.shouldLog(LogLevel.INFO.level)) {
    71         if (Logger.shouldLog(LogTag.JFR_SYSTEM_METADATA, LogLevel.INFO)) {
    72             Stream<Type> s = types.values().stream().sorted((x, y) -> Long.compare(x.getId(), y.getId()));
    72             Stream<Type> s = types.values().stream().sorted((x, y) -> Long.compare(x.getId(), y.getId()));
    73             s.forEach(t -> t.log("Added", LogTag.JFR_SYSTEM_METADATA, LogLevel.INFO));
    73             s.forEach(t -> t.log("Added", LogTag.JFR_SYSTEM_METADATA, LogLevel.INFO));
    74         }
    74         }
    75     }
    75     }
    76 
    76 
   420         visitReachable(registered, t -> t.getRemove(), t -> t.setRemove(false));
   420         visitReachable(registered, t -> t.getRemove(), t -> t.setRemove(false));
   421         List<Long> removeIds = new ArrayList<>();
   421         List<Long> removeIds = new ArrayList<>();
   422         for (Type type :  types.values()) {
   422         for (Type type :  types.values()) {
   423             if (type.getRemove() && !Type.isDefinedByJVM(type.getId())) {
   423             if (type.getRemove() && !Type.isDefinedByJVM(type.getId())) {
   424                 removeIds.add(type.getId());
   424                 removeIds.add(type.getId());
   425                 if (LogTag.JFR_METADATA.shouldLog(LogLevel.TRACE.level)) {
   425                 if (Logger.shouldLog(LogTag.JFR_METADATA, LogLevel.TRACE)) {
   426                     Logger.log(LogTag.JFR_METADATA, LogLevel.TRACE, "Removed obsolete metadata " + type.getName());
   426                     Logger.log(LogTag.JFR_METADATA, LogLevel.TRACE, "Removed obsolete metadata " + type.getName());
   427                 }
   427                 }
   428             }
   428             }
   429             // Optimization, set to true now to avoid iterating
   429             // Optimization, set to true now to avoid iterating
   430             // types first thing at next call to clearUnregistered
   430             // types first thing at next call to clearUnregistered