diff -r 84ef29ccac56 -r 00860d9caf4d src/hotspot/share/jfr/recorder/repository/jfrChunk.cpp --- a/src/hotspot/share/jfr/recorder/repository/jfrChunk.cpp Fri Aug 23 18:47:55 2019 +0200 +++ b/src/hotspot/share/jfr/recorder/repository/jfrChunk.cpp Sat Aug 24 14:30:27 2019 +0200 @@ -32,6 +32,10 @@ #include "runtime/os.inline.hpp" #include "runtime/thread.inline.hpp" +static const char* const MAGIC = "FLR"; +static const u2 JFR_VERSION_MAJOR = 2; +static const u2 JFR_VERSION_MINOR = 0; + static const u1 GUARD = 0xff; static jlong nanos_now() { @@ -66,6 +70,29 @@ _generation = 1; } +const char* JfrChunk::magic() const { + return MAGIC; +} + +u2 JfrChunk::major_version() const { + return JFR_VERSION_MAJOR; +} + +u2 JfrChunk::minor_version() const { + return JFR_VERSION_MINOR; +} + +u2 JfrChunk::capabilities() const { + // chunk capabilities, CompressedIntegers etc + static bool compressed_integers = JfrOptionSet::compressed_integers(); + return compressed_integers; +} + +int64_t JfrChunk::cpu_frequency() const { + static const jlong frequency = JfrTime::frequency(); + return frequency; +} + void JfrChunk::set_last_checkpoint_offset(int64_t offset) { _last_checkpoint_offset = offset; } @@ -190,3 +217,8 @@ return this_generation; } +u1 JfrChunk::next_generation() const { + assert(_generation > 0, "invariant"); + const u1 next_gen = _generation; + return GUARD == next_gen ? 1 : next_gen; +}