Mercurial > hg > graal-jvmci-8
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() { |