comparison src/share/vm/runtime/fprofiler.hpp @ 2195:bf8517f4e4d0

6766644: Redefinition of compiled method fails with assertion "Can not load classes with the Compiler thread" Summary: Defer posting events from the compiler thread: use service thread Reviewed-by: coleenp, dholmes, never, dcubed
author kamg
date Wed, 02 Feb 2011 14:38:01 -0500
parents f95d63e2154a
children 1d1603768966
comparison
equal deleted inserted replaced
2194:face83fc8882 2195:bf8517f4e4d0
229 public: 229 public:
230 static void reset() KERNEL_RETURN ; 230 static void reset() KERNEL_RETURN ;
231 static void engage(JavaThread* mainThread, bool fullProfile) KERNEL_RETURN ; 231 static void engage(JavaThread* mainThread, bool fullProfile) KERNEL_RETURN ;
232 static void disengage() KERNEL_RETURN ; 232 static void disengage() KERNEL_RETURN ;
233 static void print(int unused) KERNEL_RETURN ; 233 static void print(int unused) KERNEL_RETURN ;
234 static bool is_active() KERNEL_RETURN_(return false;) ; 234 static bool is_active() KERNEL_RETURN_(false) ;
235 235
236 // This is NULL if each thread has its own thread profiler, 236 // This is NULL if each thread has its own thread profiler,
237 // else this is the single thread profiler used by all threads. 237 // else this is the single thread profiler used by all threads.
238 // In particular it makes a difference during garbage collection, 238 // In particular it makes a difference during garbage collection,
239 // where you only want to traverse each thread profiler once. 239 // where you only want to traverse each thread profiler once.
240 static ThreadProfiler* get_thread_profiler() KERNEL_RETURN_(return NULL;); 240 static ThreadProfiler* get_thread_profiler() KERNEL_RETURN_(NULL);
241 241
242 // Garbage Collection Support 242 // Garbage Collection Support
243 static void oops_do(OopClosure* f) KERNEL_RETURN ; 243 static void oops_do(OopClosure* f) KERNEL_RETURN ;
244 244
245 // Support for disassembler to inspect the PCRecorder 245 // Support for disassembler to inspect the PCRecorder
246 246
247 // Returns the start address for a given pc 247 // Returns the start address for a given pc
248 // NULL is returned if the PCRecorder is inactive 248 // NULL is returned if the PCRecorder is inactive
249 static address bucket_start_for(address pc) KERNEL_RETURN_(return NULL;); 249 static address bucket_start_for(address pc) KERNEL_RETURN_(NULL);
250 250
251 enum { MillisecsPerTick = 10 }; // ms per profiling ticks 251 enum { MillisecsPerTick = 10 }; // ms per profiling ticks
252 252
253 // Returns the number of ticks recorded for the bucket 253 // Returns the number of ticks recorded for the bucket
254 // pc belongs to. 254 // pc belongs to.
255 static int bucket_count_for(address pc) KERNEL_RETURN_(return 0;); 255 static int bucket_count_for(address pc) KERNEL_RETURN_(0);
256 256
257 #ifndef FPROF_KERNEL 257 #ifndef FPROF_KERNEL
258 258
259 private: 259 private:
260 static bool full_profile() { 260 static bool full_profile() {