Mercurial > hg > graal-compiler
comparison src/share/vm/runtime/fprofiler.cpp @ 12146:9758d9f36299
8021954: VM SIGSEGV during classloading on MacOS; hs_err_pid file produced
Summary: declare all user-defined operator new()s within Hotspot code with the empty throw() exception specification
Reviewed-by: coleenp, twisti, dholmes, hseigel, dcubed, kvn, ccheung
Contributed-by: lois.foltan@oracle.com
author | coleenp |
---|---|
date | Thu, 29 Aug 2013 18:56:29 -0400 |
parents | aeaca88565e6 |
children | 491de79915eb |
comparison
equal
deleted
inserted
replaced
12145:cef1e56a4d88 | 12146:9758d9f36299 |
---|---|
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"); |