Mercurial > hg > truffle
comparison src/share/vm/classfile/classLoaderData.cpp @ 17937:78bbf4d43a14
8037816: Fix for 8036122 breaks build with Xcode5/clang
8043029: Change 8037816 breaks HS build with older GCC versions which don't support diagnostic pragmas
8043164: Format warning in traceStream.hpp
Summary: Backport of main fix + two corrections, enables clang compilation, turns on format attributes, corrects/mutes warnings
Reviewed-by: kvn, coleenp, iveresov, twisti
author | drchase |
---|---|
date | Thu, 22 May 2014 15:52:41 -0400 |
parents | 7384f6a12fc1 |
children | e4a6e7f1b90b |
comparison
equal
deleted
inserted
replaced
17935:7384f6a12fc1 | 17937:78bbf4d43a14 |
---|---|
267 | 267 |
268 if (TraceClassLoaderData && Verbose && k->class_loader_data() != NULL) { | 268 if (TraceClassLoaderData && Verbose && k->class_loader_data() != NULL) { |
269 ResourceMark rm; | 269 ResourceMark rm; |
270 tty->print_cr("[TraceClassLoaderData] Adding k: " PTR_FORMAT " %s to CLD: " | 270 tty->print_cr("[TraceClassLoaderData] Adding k: " PTR_FORMAT " %s to CLD: " |
271 PTR_FORMAT " loader: " PTR_FORMAT " %s", | 271 PTR_FORMAT " loader: " PTR_FORMAT " %s", |
272 k, | 272 p2i(k), |
273 k->external_name(), | 273 k->external_name(), |
274 k->class_loader_data(), | 274 p2i(k->class_loader_data()), |
275 (void *)k->class_loader(), | 275 p2i((void *)k->class_loader()), |
276 loader_name()); | 276 loader_name()); |
277 } | 277 } |
278 } | 278 } |
279 | 279 |
280 // This is called by InstanceKlass::deallocate_contents() to remove the | 280 // This is called by InstanceKlass::deallocate_contents() to remove the |
305 // Tell serviceability tools these classes are unloading | 305 // Tell serviceability tools these classes are unloading |
306 classes_do(InstanceKlass::notify_unload_class); | 306 classes_do(InstanceKlass::notify_unload_class); |
307 | 307 |
308 if (TraceClassLoaderData) { | 308 if (TraceClassLoaderData) { |
309 ResourceMark rm; | 309 ResourceMark rm; |
310 tty->print("[ClassLoaderData: unload loader data "PTR_FORMAT, this); | 310 tty->print("[ClassLoaderData: unload loader data " INTPTR_FORMAT, p2i(this)); |
311 tty->print(" for instance "PTR_FORMAT" of %s", (void *)class_loader(), | 311 tty->print(" for instance " INTPTR_FORMAT " of %s", p2i((void *)class_loader()), |
312 loader_name()); | 312 loader_name()); |
313 if (is_anonymous()) { | 313 if (is_anonymous()) { |
314 tty->print(" for anonymous class "PTR_FORMAT " ", _klasses); | 314 tty->print(" for anonymous class " INTPTR_FORMAT " ", p2i(_klasses)); |
315 } | 315 } |
316 tty->print_cr("]"); | 316 tty->print_cr("]"); |
317 } | 317 } |
318 } | 318 } |
319 | 319 |
467 #undef CLD_DUMP_KLASSES | 467 #undef CLD_DUMP_KLASSES |
468 | 468 |
469 void ClassLoaderData::dump(outputStream * const out) { | 469 void ClassLoaderData::dump(outputStream * const out) { |
470 ResourceMark rm; | 470 ResourceMark rm; |
471 out->print("ClassLoaderData CLD: "PTR_FORMAT", loader: "PTR_FORMAT", loader_klass: "PTR_FORMAT" %s {", | 471 out->print("ClassLoaderData CLD: "PTR_FORMAT", loader: "PTR_FORMAT", loader_klass: "PTR_FORMAT" %s {", |
472 this, (void *)class_loader(), | 472 p2i(this), p2i((void *)class_loader()), |
473 class_loader() != NULL ? class_loader()->klass() : NULL, loader_name()); | 473 p2i(class_loader() != NULL ? class_loader()->klass() : NULL), loader_name()); |
474 if (claimed()) out->print(" claimed "); | 474 if (claimed()) out->print(" claimed "); |
475 if (is_unloading()) out->print(" unloading "); | 475 if (is_unloading()) out->print(" unloading "); |
476 out->print(" handles " INTPTR_FORMAT, handles()); | 476 out->print(" handles " INTPTR_FORMAT, p2i(handles())); |
477 out->cr(); | 477 out->cr(); |
478 if (metaspace_or_null() != NULL) { | 478 if (metaspace_or_null() != NULL) { |
479 out->print_cr("metaspace: " PTR_FORMAT, metaspace_or_null()); | 479 out->print_cr("metaspace: " INTPTR_FORMAT, p2i(metaspace_or_null())); |
480 metaspace_or_null()->dump(out); | 480 metaspace_or_null()->dump(out); |
481 } else { | 481 } else { |
482 out->print_cr("metaspace: NULL"); | 482 out->print_cr("metaspace: NULL"); |
483 } | 483 } |
484 | 484 |
570 ClassLoaderData* exchanged = (ClassLoaderData*)Atomic::cmpxchg_ptr(cld, list_head, next); | 570 ClassLoaderData* exchanged = (ClassLoaderData*)Atomic::cmpxchg_ptr(cld, list_head, next); |
571 if (exchanged == next) { | 571 if (exchanged == next) { |
572 if (TraceClassLoaderData) { | 572 if (TraceClassLoaderData) { |
573 ResourceMark rm; | 573 ResourceMark rm; |
574 tty->print("[ClassLoaderData: "); | 574 tty->print("[ClassLoaderData: "); |
575 tty->print("create class loader data "PTR_FORMAT, cld); | 575 tty->print("create class loader data " INTPTR_FORMAT, p2i(cld)); |
576 tty->print(" for instance "PTR_FORMAT" of %s", (void *)cld->class_loader(), | 576 tty->print(" for instance " INTPTR_FORMAT " of %s", p2i((void *)cld->class_loader()), |
577 cld->loader_name()); | 577 cld->loader_name()); |
578 tty->print_cr("]"); | 578 tty->print_cr("]"); |
579 } | 579 } |
580 return cld; | 580 return cld; |
581 } | 581 } |
802 | 802 |
803 void ClassLoaderData::print_value_on(outputStream* out) const { | 803 void ClassLoaderData::print_value_on(outputStream* out) const { |
804 if (class_loader() == NULL) { | 804 if (class_loader() == NULL) { |
805 out->print("NULL class_loader"); | 805 out->print("NULL class_loader"); |
806 } else { | 806 } else { |
807 out->print("class loader "PTR_FORMAT, this); | 807 out->print("class loader " INTPTR_FORMAT, p2i(this)); |
808 class_loader()->print_value_on(out); | 808 class_loader()->print_value_on(out); |
809 } | 809 } |
810 } | 810 } |
811 | 811 |
812 #if INCLUDE_TRACE | 812 #if INCLUDE_TRACE |