comparison src/share/vm/runtime/fprofiler.cpp @ 12355:cefad50507d8

Merge with hs25-b53
author Gilles Duboscq <duboscq@ssw.jku.at>
date Fri, 11 Oct 2013 10:38:03 +0200
parents 491de79915eb
children 78bbf4d43a14
comparison
equal deleted inserted replaced
12058:ccb4f2af2319 12355:cefad50507d8
262 public: 262 public:
263 tick_counter ticks; 263 tick_counter ticks;
264 264
265 public: 265 public:
266 266
267 void* operator new(size_t size, ThreadProfiler* tp); 267 void* operator new(size_t size, ThreadProfiler* tp) throw();
268 void operator delete(void* p); 268 void operator delete(void* p);
269 269
270 ProfilerNode() { 270 ProfilerNode() {
271 _next = NULL; 271 _next = NULL;
272 } 272 }
371 static int compare(ProfilerNode** a, ProfilerNode** b) { 371 static int compare(ProfilerNode** a, ProfilerNode** b) {
372 return (*b)->total_ticks() - (*a)->total_ticks(); 372 return (*b)->total_ticks() - (*a)->total_ticks();
373 } 373 }
374 }; 374 };
375 375
376 void* ProfilerNode::operator new(size_t size, ThreadProfiler* tp){ 376 void* ProfilerNode::operator new(size_t size, ThreadProfiler* tp) throw() {
377 void* result = (void*) tp->area_top; 377 void* result = (void*) tp->area_top;
378 tp->area_top += size; 378 tp->area_top += size;
379 379
380 if (tp->area_top > tp->area_limit) { 380 if (tp->area_top > tp->area_limit) {
381 fatal("flat profiler buffer overflow"); 381 fatal("flat profiler buffer overflow");
923 } 923 }
924 if (interval_expired) { 924 if (interval_expired) {
925 FlatProfiler::interval_print(); 925 FlatProfiler::interval_print();
926 FlatProfiler::interval_reset(); 926 FlatProfiler::interval_reset();
927 } 927 }
928
929 FREE_C_HEAP_ARRAY(JavaThread *, threadsList, mtInternal);
928 } else { 930 } else {
929 // Couldn't get the threads lock, just record that rather than blocking 931 // Couldn't get the threads lock, just record that rather than blocking
930 FlatProfiler::threads_lock_ticks += 1; 932 FlatProfiler::threads_lock_ticks += 1;
931 } 933 }
932 934