Mercurial > hg > graal-compiler
comparison src/share/vm/code/codeBlob.cpp @ 1644:2a47bd84841f
6965184: possible races in make_not_entrant_or_zombie
Reviewed-by: kvn
author | never |
---|---|
date | Thu, 08 Jul 2010 14:29:44 -0700 |
parents | e9ff18c4ace7 |
children | 7139e81efd2d |
comparison
equal
deleted
inserted
replaced
1635:a693e51ac197 | 1644:2a47bd84841f |
---|---|
208 AdapterBlob* blob = NULL; | 208 AdapterBlob* blob = NULL; |
209 unsigned int size = allocation_size(cb, sizeof(AdapterBlob)); | 209 unsigned int size = allocation_size(cb, sizeof(AdapterBlob)); |
210 { | 210 { |
211 MutexLockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag); | 211 MutexLockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag); |
212 blob = new (size) AdapterBlob(size, cb); | 212 blob = new (size) AdapterBlob(size, cb); |
213 CodeCache::commit(blob); | |
213 } | 214 } |
214 // Track memory usage statistic after releasing CodeCache_lock | 215 // Track memory usage statistic after releasing CodeCache_lock |
215 MemoryService::track_code_cache_memory_usage(); | 216 MemoryService::track_code_cache_memory_usage(); |
216 | 217 |
217 return blob; | 218 return blob; |
279 jio_snprintf(stub_id, sizeof(stub_id), "RuntimeStub - %s", stub_name); | 280 jio_snprintf(stub_id, sizeof(stub_id), "RuntimeStub - %s", stub_name); |
280 if (PrintStubCode) { | 281 if (PrintStubCode) { |
281 tty->print_cr("Decoding %s " INTPTR_FORMAT, stub_id, stub); | 282 tty->print_cr("Decoding %s " INTPTR_FORMAT, stub_id, stub); |
282 Disassembler::decode(stub->instructions_begin(), stub->instructions_end()); | 283 Disassembler::decode(stub->instructions_begin(), stub->instructions_end()); |
283 } | 284 } |
284 VTune::register_stub(stub_id, stub->instructions_begin(), stub->instructions_end()); | |
285 Forte::register_stub(stub_id, stub->instructions_begin(), stub->instructions_end()); | 285 Forte::register_stub(stub_id, stub->instructions_begin(), stub->instructions_end()); |
286 | 286 |
287 if (JvmtiExport::should_post_dynamic_code_generated()) { | 287 if (JvmtiExport::should_post_dynamic_code_generated()) { |
288 JvmtiExport::post_dynamic_code_generated(stub_name, stub->instructions_begin(), stub->instructions_end()); | 288 JvmtiExport::post_dynamic_code_generated(stub_name, stub->instructions_begin(), stub->instructions_end()); |
289 } | 289 } |
354 jio_snprintf(blob_id, sizeof(blob_id), "DeoptimizationBlob@" PTR_FORMAT, blob->instructions_begin()); | 354 jio_snprintf(blob_id, sizeof(blob_id), "DeoptimizationBlob@" PTR_FORMAT, blob->instructions_begin()); |
355 if (PrintStubCode) { | 355 if (PrintStubCode) { |
356 tty->print_cr("Decoding %s " INTPTR_FORMAT, blob_id, blob); | 356 tty->print_cr("Decoding %s " INTPTR_FORMAT, blob_id, blob); |
357 Disassembler::decode(blob->instructions_begin(), blob->instructions_end()); | 357 Disassembler::decode(blob->instructions_begin(), blob->instructions_end()); |
358 } | 358 } |
359 VTune::register_stub(blob_id, blob->instructions_begin(), blob->instructions_end()); | |
360 Forte::register_stub(blob_id, blob->instructions_begin(), blob->instructions_end()); | 359 Forte::register_stub(blob_id, blob->instructions_begin(), blob->instructions_end()); |
361 | 360 |
362 if (JvmtiExport::should_post_dynamic_code_generated()) { | 361 if (JvmtiExport::should_post_dynamic_code_generated()) { |
363 JvmtiExport::post_dynamic_code_generated("DeoptimizationBlob", | 362 JvmtiExport::post_dynamic_code_generated("DeoptimizationBlob", |
364 blob->instructions_begin(), | 363 blob->instructions_begin(), |
412 jio_snprintf(blob_id, sizeof(blob_id), "UncommonTrapBlob@" PTR_FORMAT, blob->instructions_begin()); | 411 jio_snprintf(blob_id, sizeof(blob_id), "UncommonTrapBlob@" PTR_FORMAT, blob->instructions_begin()); |
413 if (PrintStubCode) { | 412 if (PrintStubCode) { |
414 tty->print_cr("Decoding %s " INTPTR_FORMAT, blob_id, blob); | 413 tty->print_cr("Decoding %s " INTPTR_FORMAT, blob_id, blob); |
415 Disassembler::decode(blob->instructions_begin(), blob->instructions_end()); | 414 Disassembler::decode(blob->instructions_begin(), blob->instructions_end()); |
416 } | 415 } |
417 VTune::register_stub(blob_id, blob->instructions_begin(), blob->instructions_end()); | |
418 Forte::register_stub(blob_id, blob->instructions_begin(), blob->instructions_end()); | 416 Forte::register_stub(blob_id, blob->instructions_begin(), blob->instructions_end()); |
419 | 417 |
420 if (JvmtiExport::should_post_dynamic_code_generated()) { | 418 if (JvmtiExport::should_post_dynamic_code_generated()) { |
421 JvmtiExport::post_dynamic_code_generated("UncommonTrapBlob", | 419 JvmtiExport::post_dynamic_code_generated("UncommonTrapBlob", |
422 blob->instructions_begin(), | 420 blob->instructions_begin(), |
472 jio_snprintf(blob_id, sizeof(blob_id), "ExceptionBlob@" PTR_FORMAT, blob->instructions_begin()); | 470 jio_snprintf(blob_id, sizeof(blob_id), "ExceptionBlob@" PTR_FORMAT, blob->instructions_begin()); |
473 if (PrintStubCode) { | 471 if (PrintStubCode) { |
474 tty->print_cr("Decoding %s " INTPTR_FORMAT, blob_id, blob); | 472 tty->print_cr("Decoding %s " INTPTR_FORMAT, blob_id, blob); |
475 Disassembler::decode(blob->instructions_begin(), blob->instructions_end()); | 473 Disassembler::decode(blob->instructions_begin(), blob->instructions_end()); |
476 } | 474 } |
477 VTune::register_stub(blob_id, blob->instructions_begin(), blob->instructions_end()); | |
478 Forte::register_stub(blob_id, blob->instructions_begin(), blob->instructions_end()); | 475 Forte::register_stub(blob_id, blob->instructions_begin(), blob->instructions_end()); |
479 | 476 |
480 if (JvmtiExport::should_post_dynamic_code_generated()) { | 477 if (JvmtiExport::should_post_dynamic_code_generated()) { |
481 JvmtiExport::post_dynamic_code_generated("ExceptionBlob", | 478 JvmtiExport::post_dynamic_code_generated("ExceptionBlob", |
482 blob->instructions_begin(), | 479 blob->instructions_begin(), |
531 jio_snprintf(blob_id, sizeof(blob_id), "SafepointBlob@" PTR_FORMAT, blob->instructions_begin()); | 528 jio_snprintf(blob_id, sizeof(blob_id), "SafepointBlob@" PTR_FORMAT, blob->instructions_begin()); |
532 if (PrintStubCode) { | 529 if (PrintStubCode) { |
533 tty->print_cr("Decoding %s " INTPTR_FORMAT, blob_id, blob); | 530 tty->print_cr("Decoding %s " INTPTR_FORMAT, blob_id, blob); |
534 Disassembler::decode(blob->instructions_begin(), blob->instructions_end()); | 531 Disassembler::decode(blob->instructions_begin(), blob->instructions_end()); |
535 } | 532 } |
536 VTune::register_stub(blob_id, blob->instructions_begin(), blob->instructions_end()); | |
537 Forte::register_stub(blob_id, blob->instructions_begin(), blob->instructions_end()); | 533 Forte::register_stub(blob_id, blob->instructions_begin(), blob->instructions_end()); |
538 | 534 |
539 if (JvmtiExport::should_post_dynamic_code_generated()) { | 535 if (JvmtiExport::should_post_dynamic_code_generated()) { |
540 JvmtiExport::post_dynamic_code_generated("SafepointBlob", | 536 JvmtiExport::post_dynamic_code_generated("SafepointBlob", |
541 blob->instructions_begin(), | 537 blob->instructions_begin(), |