92 |
92 |
93 // Debugging |
93 // Debugging |
94 static void print_on(outputStream* st); |
94 static void print_on(outputStream* st); |
95 static void print() { print_on(tty); } |
95 static void print() { print_on(tty); } |
96 static void verify(); |
96 static void verify(); |
|
97 // The category predicates all require handle != NULL. |
97 static bool is_local_handle(Thread* thread, jobject handle); |
98 static bool is_local_handle(Thread* thread, jobject handle); |
98 static bool is_frame_handle(JavaThread* thr, jobject obj); |
99 static bool is_frame_handle(JavaThread* thread, jobject handle); |
99 static bool is_global_handle(jobject handle); |
100 static bool is_global_handle(jobject handle); |
100 static bool is_weak_global_handle(jobject handle); |
101 static bool is_weak_global_handle(jobject handle); |
101 static size_t global_handle_memory_usage(); |
102 static size_t global_handle_memory_usage(); |
102 static size_t weak_global_handle_memory_usage(); |
103 static size_t weak_global_handle_memory_usage(); |
103 |
104 |
104 #ifndef PRODUCT |
105 #ifndef PRODUCT |
105 // Is handle from any local block of any thread? |
106 // Is handle from any local block of any thread? |
106 static bool is_local_handle(jobject handle); |
107 static bool is_local_handle(jobject handle); |
107 #endif |
108 #endif |
108 |
109 |
|
110 // precondition: handle != NULL. |
109 static jobjectRefType handle_type(Thread* thread, jobject handle); |
111 static jobjectRefType handle_type(Thread* thread, jobject handle); |
110 |
112 |
111 // Garbage collection support(global handles only, local handles are traversed from thread) |
113 // Garbage collection support(global handles only, local handles are traversed from thread) |
112 // Traversal of regular global handles |
114 // Traversal of regular global handles |
113 static void oops_do(OopClosure* f); |
115 static void oops_do(OopClosure* f); |