< prev index next >
src/hotspot/share/runtime/thread.hpp
Print this page
rev 50748 : Thread Dump Extension (memory allocation)
@@ -42,10 +42,11 @@
#include "runtime/park.hpp"
#include "runtime/safepoint.hpp"
#include "runtime/stubRoutines.hpp"
#include "runtime/threadHeapSampler.hpp"
#include "runtime/threadLocalStorage.hpp"
+#include "runtime/threadStatisticalInfo.hpp"
#include "runtime/unhandledOops.hpp"
#include "utilities/align.hpp"
#include "utilities/exceptions.hpp"
#include "utilities/macros.hpp"
#ifdef ZERO
@@ -339,10 +340,12 @@
ThreadLocalAllocBuffer _tlab; // Thread-local eden
jlong _allocated_bytes; // Cumulative number of bytes allocated on
// the Java heap
ThreadHeapSampler _heap_sampler; // For use when sampling the memory.
+ ThreadStatisticalInfo _statistical_info; // Statistics about the thread
+
JFR_ONLY(DEFINE_THREAD_LOCAL_FIELD_JFR;) // Thread-local data for jfr
int _vm_operation_started_count; // VM_Operation support
int _vm_operation_completed_count; // VM_Operation support
@@ -519,10 +522,12 @@
void incr_allocated_bytes(jlong size) { _allocated_bytes += size; }
inline jlong cooked_allocated_bytes();
ThreadHeapSampler& heap_sampler() { return _heap_sampler; }
+ ThreadStatisticalInfo& statistical_info() { return _statistical_info; }
+
JFR_ONLY(DEFINE_THREAD_LOCAL_ACCESSOR_JFR;)
bool is_trace_suspend() { return (_suspend_flags & _trace_flag) != 0; }
// VM operation support
@@ -636,11 +641,12 @@
int lgrp_id() const { return _lgrp_id; }
void set_lgrp_id(int value) { _lgrp_id = value; }
// Printing
- virtual void print_on(outputStream* st) const;
+ void print_on(outputStream* st, bool print_extended_info) const;
+ virtual void print_on(outputStream* st) const { print_on(st, false); }
void print() const { print_on(tty); }
virtual void print_on_error(outputStream* st, char* buf, int buflen) const;
void print_value_on(outputStream* st) const;
// Debug-only code
@@ -1757,11 +1763,12 @@
// RedefineClasses Support
void metadata_do(void f(Metadata*));
// Misc. operations
char* name() const { return (char*)get_thread_name(); }
- void print_on(outputStream* st) const;
+ void print_on(outputStream* st, bool print_extended_info) const;
+ void print_on(outputStream* st) const { print_on(st, false); }
void print_value();
void print_thread_state_on(outputStream*) const PRODUCT_RETURN;
void print_thread_state() const PRODUCT_RETURN;
void print_on_error(outputStream* st, char* buf, int buflen) const;
void print_name_on_error(outputStream* st, char* buf, int buflen) const;
@@ -2171,14 +2178,14 @@
static bool is_vm_complete() { return _vm_complete; }
#endif
// Verification
static void verify();
- static void print_on(outputStream* st, bool print_stacks, bool internal_format, bool print_concurrent_locks);
+ static void print_on(outputStream* st, bool print_stacks, bool internal_format, bool print_concurrent_locks, bool print_extended_info);
static void print(bool print_stacks, bool internal_format) {
// this function is only used by debug.cpp
- print_on(tty, print_stacks, internal_format, false /* no concurrent lock printed */);
+ print_on(tty, print_stacks, internal_format, false /* no concurrent lock printed */, false /* simple format */);
}
static void print_on_error(outputStream* st, Thread* current, char* buf, int buflen);
static void print_on_error(Thread* this_thread, outputStream* st, Thread* current, char* buf,
int buflen, bool* found_current);
static void print_threads_compiling(outputStream* st, char* buf, int buflen);
< prev index next >