src/share/vm/jfr/recorder/checkpoint/jfrCheckpointWriter.cpp

changeset 9947
db357034b763
parent 9858
b985cbb00e68
equal deleted inserted replaced
9946:103d1261f1f4 9947:db357034b763
42 if (_header) { 42 if (_header) {
43 reserve(sizeof(JfrCheckpointEntry)); 43 reserve(sizeof(JfrCheckpointEntry));
44 } 44 }
45 } 45 }
46 46
47 static void write_checkpoint_header(u1* pos, jlong size, jlong time, bool flushpoint, juint type_count) { 47 static void write_checkpoint_header(u1* pos, int64_t size, jlong time, bool flushpoint, u4 type_count) {
48 assert(pos != NULL, "invariant"); 48 assert(pos != NULL, "invariant");
49 JfrBigEndianWriter be_writer(pos, sizeof(JfrCheckpointEntry)); 49 JfrBigEndianWriter be_writer(pos, sizeof(JfrCheckpointEntry));
50 be_writer.write(size); 50 be_writer.write(size);
51 be_writer.write(time); 51 be_writer.write(time);
52 be_writer.write(JfrTicks::now().value() - time); 52 be_writer.write(JfrTicks::now().value() - time);
53 be_writer.write(flushpoint ? (juint)1 : (juint)0); 53 be_writer.write(flushpoint ? (u4)1 : (u4)0);
54 be_writer.write(type_count); 54 be_writer.write(type_count);
55 assert(be_writer.is_valid(), "invariant"); 55 assert(be_writer.is_valid(), "invariant");
56 } 56 }
57 57
58 JfrCheckpointWriter::~JfrCheckpointWriter() { 58 JfrCheckpointWriter::~JfrCheckpointWriter() {
69 } 69 }
70 assert(_header, "invariant"); 70 assert(_header, "invariant");
71 assert(this->is_valid(), "invariant"); 71 assert(this->is_valid(), "invariant");
72 assert(count() > 0, "invariant"); 72 assert(count() > 0, "invariant");
73 assert(this->used_size() > sizeof(JfrCheckpointEntry), "invariant"); 73 assert(this->used_size() > sizeof(JfrCheckpointEntry), "invariant");
74 const jlong size = this->current_offset(); 74 const int64_t size = this->current_offset();
75 assert(size + this->start_pos() == this->current_pos(), "invariant"); 75 assert(size + this->start_pos() == this->current_pos(), "invariant");
76 write_checkpoint_header(const_cast<u1*>(this->start_pos()), size, _time, is_flushpoint(), count()); 76 write_checkpoint_header(const_cast<u1*>(this->start_pos()), size, _time, is_flushpoint(), count());
77 release(); 77 release();
78 } 78 }
79 79
83 83
84 bool JfrCheckpointWriter::is_flushpoint() const { 84 bool JfrCheckpointWriter::is_flushpoint() const {
85 return _flushpoint; 85 return _flushpoint;
86 } 86 }
87 87
88 juint JfrCheckpointWriter::count() const { 88 u4 JfrCheckpointWriter::count() const {
89 return _count; 89 return _count;
90 } 90 }
91 91
92 void JfrCheckpointWriter::set_count(juint count) { 92 void JfrCheckpointWriter::set_count(u4 count) {
93 _count = count; 93 _count = count;
94 } 94 }
95 95
96 void JfrCheckpointWriter::release() { 96 void JfrCheckpointWriter::release() {
97 assert(this->is_acquired(), "invariant"); 97 assert(this->is_acquired(), "invariant");
109 write<u8>(type_id); 109 write<u8>(type_id);
110 increment(); 110 increment();
111 } 111 }
112 112
113 void JfrCheckpointWriter::write_key(u8 key) { 113 void JfrCheckpointWriter::write_key(u8 key) {
114 write<u8>(key); 114 write(key);
115 } 115 }
116 116
117 void JfrCheckpointWriter::increment() { 117 void JfrCheckpointWriter::increment() {
118 ++_count; 118 ++_count;
119 } 119 }
120 120
121 void JfrCheckpointWriter::write_count(u4 nof_entries) { 121 void JfrCheckpointWriter::write_count(u4 nof_entries) {
122 write<u4>((u4)nof_entries); 122 write(nof_entries);
123 } 123 }
124 124
125 void JfrCheckpointWriter::write_count(u4 nof_entries, jlong offset) { 125 void JfrCheckpointWriter::write_count(u4 nof_entries, int64_t offset) {
126 write_padded_at_offset(nof_entries, offset); 126 write_padded_at_offset(nof_entries, offset);
127 } 127 }
128 128
129 const u1* JfrCheckpointWriter::session_data(size_t* size, const JfrCheckpointContext* ctx /* 0 */) { 129 const u1* JfrCheckpointWriter::session_data(size_t* size, const JfrCheckpointContext* ctx /* 0 */) {
130 assert(this->is_acquired(), "wrong state!"); 130 assert(this->is_acquired(), "wrong state!");

mercurial