src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/ChunkParser.java
branchJEP-349-branch
changeset 58767 94d3a7bc8561
parent 58714 737134732b4a
child 58806 a7d850b47b19
equal deleted inserted replaced
58765:1256af493619 58767:94d3a7bc8561
   239             int size = input.readInt();
   239             int size = input.readInt();
   240             if (size == 0) {
   240             if (size == 0) {
   241                 throw new IOException("Event can't have zero size");
   241                 throw new IOException("Event can't have zero size");
   242             }
   242             }
   243             long typeId = input.readLong();
   243             long typeId = input.readLong();
   244 
   244             Parser p = parsers.get(typeId);
   245             if (typeId != 0) { // Not metadata event
   245             if (p instanceof EventParser) {
   246                 Parser p = parsers.get(typeId);
   246                 // Fast path
   247                 if (p instanceof EventParser) {
   247                 EventParser ep = (EventParser) p;
   248                     EventParser ep = (EventParser) p;
   248                 RecordedEvent event = ep.parse(input);
   249                     RecordedEvent event = ep.parse(input);
   249                 if (event != null) {
   250                     if (event != null) {
   250                     input.position(pos + size);
   251                         input.position(pos + size);
   251                     return event;
   252                         return event;
   252                 }
   253                     }
   253                 // Not accepted by filter
   254                 }
   254             } else {
   255                 if (typeId == 1) { // checkpoint event
   255                 if (typeId == 1) { // checkpoint event
   256                     if (flushOperation != null) {
   256                     if (flushOperation != null) {
   257                         parseCheckpoint();
   257                         parseCheckpoint();
   258                     }
   258                     }
   259                 } else {
   259                 } else {
   260                     Logger.log(LogTag.JFR_SYSTEM_PARSER, LogLevel.INFO, "Unknwon event type " + typeId);
   260                     if (typeId != 0) { // Not metadata event
       
   261                         Logger.log(LogTag.JFR_SYSTEM_PARSER, LogLevel.INFO, "Unknwon event type " + typeId);
       
   262                     }
   261                 }
   263                 }
   262             }
   264             }
   263             input.position(pos + size);
   265             input.position(pos + size);
   264         }
   266         }
   265         return null;
   267         return null;