# HG changeset patch # User egahlin # Date 1566835834 -7200 # Node ID 90e867ac8c3752c0511141bd90a1f960baf0177f # Parent 562f598d303c5bd114be17995ff1e5c53f04fb79 Add parser support for checkpoint cetagorization bits diff -r 562f598d303c -r 90e867ac8c37 src/jdk.jfr/share/classes/jdk/jfr/consumer/ChunkParser.java --- a/src/jdk.jfr/share/classes/jdk/jfr/consumer/ChunkParser.java Mon Aug 26 17:59:32 2019 +0200 +++ b/src/jdk.jfr/share/classes/jdk/jfr/consumer/ChunkParser.java Mon Aug 26 18:10:34 2019 +0200 @@ -48,6 +48,15 @@ * */ final class ChunkParser { + // Checkpoint that finishes a flush segment + static final byte CHECKPOINT_FLUSH_MASK = 1; + // Checkpoint contains chunk header information in the first pool + static final byte CHECKPOINT_CHUNK_HEADER_MASK = 2; + // Checkpoint contains only statics that will not change from chunk to chunk + static final byte CHECKPOINT_STATICS_MASK = 4; + // Checkpoint contains thread realted information + static final byte CHECKPOINT_THREADS_MASK = 8; + private static final long CONSTANT_POOL_TYPE_ID = 1; private static final String CHUNKHEADER = "jdk.types.ChunkHeader"; private final RecordingInput input; @@ -204,8 +213,8 @@ input.readLong(); // timestamp input.readLong(); // duration input.readLong(); // delta - boolean flush = input.readBoolean(); - if (flush) { + byte c = input.readByte(); + if ((c & CHECKPOINT_FLUSH_MASK)== 1) { flushOperation.run(); } }