--- a/hotspot/src/share/vm/gc_implementation/shared/gcTrace.cpp Wed Jun 12 15:50:14 2013 +0200
+++ b/hotspot/src/share/vm/gc_implementation/shared/gcTrace.cpp Wed Jun 12 15:21:41 2013 +0200
@@ -30,6 +30,7 @@
#include "gc_implementation/shared/objectCountEventSender.hpp"
#include "memory/heapInspection.hpp"
#include "memory/referenceProcessorStats.hpp"
+#include "runtime/os.hpp"
#include "utilities/globalDefinitions.hpp"
#if INCLUDE_ALL_GCS
@@ -96,17 +97,19 @@
const GCId _gc_id;
const double _size_threshold_percentage;
const size_t _total_size_in_words;
+ const jlong _timestamp;
public:
- ObjectCountEventSenderClosure(GCId gc_id, size_t total_size_in_words) :
+ ObjectCountEventSenderClosure(GCId gc_id, size_t total_size_in_words, jlong timestamp) :
_gc_id(gc_id),
_size_threshold_percentage(ObjectCountCutOffPercent / 100),
- _total_size_in_words(total_size_in_words)
+ _total_size_in_words(total_size_in_words),
+ _timestamp(timestamp)
{}
virtual void do_cinfo(KlassInfoEntry* entry) {
if (should_send_event(entry)) {
- ObjectCountEventSender::send(entry, _gc_id);
+ ObjectCountEventSender::send(entry, _gc_id, _timestamp);
}
}
@@ -129,7 +132,8 @@
HeapInspection hi(false, false, false, NULL);
hi.populate_table(&cit, is_alive_cl);
- ObjectCountEventSenderClosure event_sender(_shared_gc_info.id(), cit.size_of_instances_in_words());
+ jlong timestamp = os::elapsed_counter();
+ ObjectCountEventSenderClosure event_sender(_shared_gc_info.id(), cit.size_of_instances_in_words(), timestamp);
cit.iterate(&event_sender);
}
}