#include "hprof.h"
Go to the source code of this file.
Data Structures | |
| struct | StackElement |
| struct | TlsInfo |
| struct | SearchData |
| struct | IterateInfo |
| struct | ThreadList |
| struct | SampleData |
Defines | |
| #define | INITIAL_THREAD_STACK_LIMIT 64 |
Functions | |
| static SerialNumber | get_key (TlsIndex index) |
| static TlsInfo * | get_info (TlsIndex index) |
| static void | delete_globalref (JNIEnv *env, TlsInfo *info) |
| static void | clean_info (TlsInfo *info) |
| static void | cleanup_item (TableIndex index, void *key_ptr, int key_len, void *info_ptr, void *arg) |
| static void | delete_ref_item (TableIndex index, void *key_ptr, int key_len, void *info_ptr, void *arg) |
| static void | list_item (TableIndex index, void *key_ptr, int key_len, void *info_ptr, void *arg) |
| static void | search_item (TableIndex index, void *key_ptr, int key_len, void *info_ptr, void *arg) |
| static TlsIndex | search (JNIEnv *env, jthread thread) |
| static void | garbage_collect_item (TableIndex index, void *key_ptr, int key_len, void *info_ptr, void *arg) |
| void | tls_garbage_collect (JNIEnv *env) |
| static void | sum_sample_status_item (TableIndex index, void *key_ptr, int key_len, void *info_ptr, void *arg) |
| static void | setup_trace_buffers (TlsInfo *info, int max_depth) |
| static TraceIndex | get_trace (jthread thread, SerialNumber thread_serial_num, int depth, jboolean skip_init, FrameIndex *frames_buffer, jvmtiFrameInfo *jframes_buffer) |
| static void | sample_setter (TableIndex index, void *key_ptr, int key_len, void *info_ptr, void *arg) |
| static void | get_thread_list (TableIndex index, void *key_ptr, int key_len, void *info_ptr, void *arg) |
| static void | adjust_stats (jlong total_time, jlong self_time, TraceIndex trace_index, StackElement *parent) |
| static void | push_method (Stack *stack, jlong method_start_time, jmethodID method) |
| static Stack * | insure_method_on_stack (jthread thread, TlsInfo *info, jlong current_time, FrameIndex frame_index, jmethodID method) |
| static void | pop_method (TlsIndex index, jlong current_time, jmethodID method, FrameIndex frame_index) |
| static void | dump_thread_state (TlsIndex index, void *key_ptr, int key_len, void *info_ptr, void *arg) |
| static SerialNumber | get_serial_number (JNIEnv *env, jthread thread) |
| static void | dump_monitor_state (TlsIndex index, void *key_ptr, int key_len, void *info_ptr, void *arg) |
| static jlong | monitor_time (void) |
| static jlong | method_time (void) |
| TlsIndex | tls_find_or_create (JNIEnv *env, jthread thread) |
| void | tls_agent_thread (JNIEnv *env, jthread thread) |
| void | tls_init (void) |
| void | tls_list (void) |
| jint | tls_sum_sample_status (void) |
| void | tls_set_sample_status (ObjectIndex object_index, jint sample_status) |
| jint | tls_get_tracker_status (JNIEnv *env, jthread thread, jboolean skip_init, jint **ppstatus, TlsIndex *pindex, SerialNumber *pthread_serial_num, TraceIndex *ptrace_index) |
| MonitorIndex | tls_get_monitor (TlsIndex index) |
| void | tls_set_thread_object_index (TlsIndex index, ObjectIndex thread_object_index) |
| SerialNumber | tls_get_thread_serial_number (TlsIndex index) |
| void | tls_set_monitor (TlsIndex index, MonitorIndex monitor_index) |
| void | tls_cleanup (void) |
| void | tls_delete_global_references (JNIEnv *env) |
| void | tls_thread_ended (JNIEnv *env, TlsIndex index) |
| void | tls_sample_all_threads (JNIEnv *env) |
| void | tls_push_method (TlsIndex index, jmethodID method) |
| void | tls_pop_exception_catch (TlsIndex index, jthread thread, jmethodID method) |
| void | tls_pop_method (TlsIndex index, jthread thread, jmethodID method) |
| static void | update_all_last_traces (JNIEnv *env) |
| void | tls_dump_traces (JNIEnv *env) |
| void | tls_dump_monitor_state (JNIEnv *env) |
| void | tls_monitor_start_timer (TlsIndex index) |
| jlong | tls_monitor_stop_timer (TlsIndex index) |
| TraceIndex | tls_get_trace (TlsIndex index, JNIEnv *env, int depth, jboolean skip_init) |
| void | tls_set_in_heap_dump (TlsIndex index, jint in_heap_dump) |
| jint | tls_get_in_heap_dump (TlsIndex index) |
| static void | clean_in_heap_dump (TableIndex index, void *key_ptr, int key_len, void *info_ptr, void *arg) |
| void | tls_clear_in_heap_dump (void) |
| TlsIndex | tls_find (SerialNumber thread_serial_num) |
| #define INITIAL_THREAD_STACK_LIMIT 64 |
Definition at line 76 of file hprof_tls.c.
| static void adjust_stats | ( | jlong | total_time, | |
| jlong | self_time, | |||
| TraceIndex | trace_index, | |||
| StackElement * | parent | |||
| ) | [static] |
Definition at line 394 of file hprof_tls.c.


| static void clean_in_heap_dump | ( | TableIndex | index, | |
| void * | key_ptr, | |||
| int | key_len, | |||
| void * | info_ptr, | |||
| void * | arg | |||
| ) | [static] |
| static void clean_info | ( | TlsInfo * | info | ) | [static] |
Definition at line 166 of file hprof_tls.c.


| static void cleanup_item | ( | TableIndex | index, | |
| void * | key_ptr, | |||
| int | key_len, | |||
| void * | info_ptr, | |||
| void * | arg | |||
| ) | [static] |
Definition at line 184 of file hprof_tls.c.


| static void delete_globalref | ( | JNIEnv * | env, | |
| TlsInfo * | info | |||
| ) | [static] |
Definition at line 152 of file hprof_tls.c.


| static void delete_ref_item | ( | TableIndex | index, | |
| void * | key_ptr, | |||
| int | key_len, | |||
| void * | info_ptr, | |||
| void * | arg | |||
| ) | [static] |
Definition at line 194 of file hprof_tls.c.


| static void dump_monitor_state | ( | TlsIndex | index, | |
| void * | key_ptr, | |||
| int | key_len, | |||
| void * | info_ptr, | |||
| void * | arg | |||
| ) | [static] |
Definition at line 598 of file hprof_tls.c.


| static void dump_thread_state | ( | TlsIndex | index, | |
| void * | key_ptr, | |||
| int | key_len, | |||
| void * | info_ptr, | |||
| void * | arg | |||
| ) | [static] |
Definition at line 551 of file hprof_tls.c.


| static void garbage_collect_item | ( | TableIndex | index, | |
| void * | key_ptr, | |||
| int | key_len, | |||
| void * | info_ptr, | |||
| void * | arg | |||
| ) | [static] |
Definition at line 259 of file hprof_tls.c.


Definition at line 146 of file hprof_tls.c.


| static SerialNumber get_key | ( | TlsIndex | index | ) | [static] |
Definition at line 129 of file hprof_tls.c.


| static SerialNumber get_serial_number | ( | JNIEnv * | env, | |
| jthread | thread | |||
| ) | [static] |
Definition at line 585 of file hprof_tls.c.


| static void get_thread_list | ( | TableIndex | index, | |
| void * | key_ptr, | |||
| int | key_len, | |||
| void * | info_ptr, | |||
| void * | arg | |||
| ) | [static] |
Definition at line 361 of file hprof_tls.c.


| static TraceIndex get_trace | ( | jthread | thread, | |
| SerialNumber | thread_serial_num, | |||
| int | depth, | |||
| jboolean | skip_init, | |||
| FrameIndex * | frames_buffer, | |||
| jvmtiFrameInfo * | jframes_buffer | |||
| ) | [static] |
Definition at line 325 of file hprof_tls.c.


| static Stack* insure_method_on_stack | ( | jthread | thread, | |
| TlsInfo * | info, | |||
| jlong | current_time, | |||
| FrameIndex | frame_index, | |||
| jmethodID | method | |||
| ) | [static] |
Definition at line 422 of file hprof_tls.c.


| static void list_item | ( | TableIndex | index, | |
| void * | key_ptr, | |||
| int | key_len, | |||
| void * | info_ptr, | |||
| void * | arg | |||
| ) | [static] |
Definition at line 201 of file hprof_tls.c.


| static jlong method_time | ( | void | ) | [static] |
Definition at line 669 of file hprof_tls.c.


| static jlong monitor_time | ( | void | ) | [static] |
Definition at line 660 of file hprof_tls.c.


| static void pop_method | ( | TlsIndex | index, | |
| jlong | current_time, | |||
| jmethodID | method, | |||
| FrameIndex | frame_index | |||
| ) | [static] |
Definition at line 481 of file hprof_tls.c.


| static void push_method | ( | Stack * | stack, | |
| jlong | method_start_time, | |||
| jmethodID | method | |||
| ) | [static] |
Definition at line 404 of file hprof_tls.c.


| static void sample_setter | ( | TableIndex | index, | |
| void * | key_ptr, | |||
| int | key_len, | |||
| void * | info_ptr, | |||
| void * | arg | |||
| ) | [static] |
| static TlsIndex search | ( | JNIEnv * | env, | |
| jthread | thread | |||
| ) | [static] |
Definition at line 244 of file hprof_tls.c.


| static void search_item | ( | TableIndex | index, | |
| void * | key_ptr, | |||
| int | key_len, | |||
| void * | info_ptr, | |||
| void * | arg | |||
| ) | [static] |
Definition at line 222 of file hprof_tls.c.


| static void setup_trace_buffers | ( | TlsInfo * | info, | |
| int | max_depth | |||
| ) | [static] |
| static void sum_sample_status_item | ( | TableIndex | index, | |
| void * | key_ptr, | |||
| int | key_len, | |||
| void * | info_ptr, | |||
| void * | arg | |||
| ) | [static] |
| void tls_agent_thread | ( | JNIEnv * | env, | |
| jthread | thread | |||
| ) |
Definition at line 719 of file hprof_tls.c.


| void tls_cleanup | ( | void | ) |
Definition at line 834 of file hprof_tls.c.


| void tls_clear_in_heap_dump | ( | void | ) |
Definition at line 1170 of file hprof_tls.c.


| void tls_delete_global_references | ( | JNIEnv * | env | ) |
Definition at line 841 of file hprof_tls.c.


| void tls_dump_monitor_state | ( | JNIEnv * | env | ) |
Definition at line 1081 of file hprof_tls.c.


| void tls_dump_traces | ( | JNIEnv * | env | ) |
Definition at line 1072 of file hprof_tls.c.


| TlsIndex tls_find | ( | SerialNumber | thread_serial_num | ) |
Definition at line 1176 of file hprof_tls.c.


| TlsIndex tls_find_or_create | ( | JNIEnv * | env, | |
| jthread | thread | |||
| ) |
Definition at line 680 of file hprof_tls.c.


| void tls_garbage_collect | ( | JNIEnv * | env | ) |
Definition at line 281 of file hprof_tls.c.


| jint tls_get_in_heap_dump | ( | TlsIndex | index | ) |
Definition at line 1151 of file hprof_tls.c.


| MonitorIndex tls_get_monitor | ( | TlsIndex | index | ) |
Definition at line 801 of file hprof_tls.c.


| SerialNumber tls_get_thread_serial_number | ( | TlsIndex | index | ) |
Definition at line 819 of file hprof_tls.c.


| TraceIndex tls_get_trace | ( | TlsIndex | index, | |
| JNIEnv * | env, | |||
| int | depth, | |||
| jboolean | skip_init | |||
| ) |
Definition at line 1119 of file hprof_tls.c.


| jint tls_get_tracker_status | ( | JNIEnv * | env, | |
| jthread | thread, | |||
| jboolean | skip_init, | |||
| jint ** | ppstatus, | |||
| TlsIndex * | pindex, | |||
| SerialNumber * | pthread_serial_num, | |||
| TraceIndex * | ptrace_index | |||
| ) |
Definition at line 767 of file hprof_tls.c.


| void tls_init | ( | void | ) |
Definition at line 730 of file hprof_tls.c.


| void tls_list | ( | void | ) |
Definition at line 737 of file hprof_tls.c.


| void tls_monitor_start_timer | ( | TlsIndex | index | ) |
Definition at line 1095 of file hprof_tls.c.


| jlong tls_monitor_stop_timer | ( | TlsIndex | index | ) |
Definition at line 1106 of file hprof_tls.c.


| void tls_pop_exception_catch | ( | TlsIndex | index, | |
| jthread | thread, | |||
| jmethodID | method | |||
| ) |
Definition at line 935 of file hprof_tls.c.


| void tls_pop_method | ( | TlsIndex | index, | |
| jthread | thread, | |||
| jmethodID | method | |||
| ) |
Definition at line 976 of file hprof_tls.c.


| void tls_push_method | ( | TlsIndex | index, | |
| jmethodID | method | |||
| ) |
Definition at line 921 of file hprof_tls.c.


| void tls_sample_all_threads | ( | JNIEnv * | env | ) |
Definition at line 875 of file hprof_tls.c.


| void tls_set_in_heap_dump | ( | TlsIndex | index, | |
| jint | in_heap_dump | |||
| ) |
Definition at line 1142 of file hprof_tls.c.


| void tls_set_monitor | ( | TlsIndex | index, | |
| MonitorIndex | monitor_index | |||
| ) |
Definition at line 825 of file hprof_tls.c.


| void tls_set_sample_status | ( | ObjectIndex | object_index, | |
| jint | sample_status | |||
| ) |
Definition at line 757 of file hprof_tls.c.


| void tls_set_thread_object_index | ( | TlsIndex | index, | |
| ObjectIndex | thread_object_index | |||
| ) |
Definition at line 810 of file hprof_tls.c.


| jint tls_sum_sample_status | ( | void | ) |
Definition at line 747 of file hprof_tls.c.


| void tls_thread_ended | ( | JNIEnv * | env, | |
| TlsIndex | index | |||
| ) |
Definition at line 847 of file hprof_tls.c.


| static void update_all_last_traces | ( | JNIEnv * | env | ) | [static] |
Definition at line 1011 of file hprof_tls.c.


1.6.1