Mercurial > hg > graal-jvmci-8
comparison src/share/vm/classfile/defaultMethods.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 | 386dd1c71858 |
children | 52b4284cb496 02e2c04a3289 fdde6a70ea85 |
comparison
equal
deleted
inserted
replaced
17935:7384f6a12fc1 | 17937:78bbf4d43a14 |
---|---|
434 } else if (num_defaults > 1) { | 434 } else if (num_defaults > 1) { |
435 _exception_message = generate_conflicts_message(&qualified_methods,CHECK); | 435 _exception_message = generate_conflicts_message(&qualified_methods,CHECK); |
436 _exception_name = vmSymbols::java_lang_IncompatibleClassChangeError(); | 436 _exception_name = vmSymbols::java_lang_IncompatibleClassChangeError(); |
437 if (TraceDefaultMethods) { | 437 if (TraceDefaultMethods) { |
438 _exception_message->print_value_on(tty); | 438 _exception_message->print_value_on(tty); |
439 tty->print_cr(""); | 439 tty->cr(); |
440 } | 440 } |
441 } | 441 } |
442 } | 442 } |
443 | 443 |
444 bool contains_signature(Symbol* query) { | 444 bool contains_signature(Symbol* query) { |
461 str->indent(); | 461 str->indent(); |
462 print_method(str, _members.at(i).first); | 462 print_method(str, _members.at(i).first); |
463 if (_members.at(i).second == DISQUALIFIED) { | 463 if (_members.at(i).second == DISQUALIFIED) { |
464 str->print(" (disqualified)"); | 464 str->print(" (disqualified)"); |
465 } | 465 } |
466 str->print_cr(""); | 466 str->cr(); |
467 } | 467 } |
468 | 468 |
469 if (_selected_target != NULL) { | 469 if (_selected_target != NULL) { |
470 print_selected(str, 1); | 470 print_selected(str, 1); |
471 } | 471 } |
478 print_method(str, _selected_target); | 478 print_method(str, _selected_target); |
479 Klass* method_holder = _selected_target->method_holder(); | 479 Klass* method_holder = _selected_target->method_holder(); |
480 if (!method_holder->is_interface()) { | 480 if (!method_holder->is_interface()) { |
481 tty->print(" : in superclass"); | 481 tty->print(" : in superclass"); |
482 } | 482 } |
483 str->print_cr(""); | 483 str->cr(); |
484 } | 484 } |
485 | 485 |
486 void print_exception(outputStream* str, int indent) { | 486 void print_exception(outputStream* str, int indent) { |
487 assert(throws_exception(), "Should be called otherwise"); | 487 assert(throws_exception(), "Should be called otherwise"); |
488 assert(_exception_name != NULL, "exception_name should be set"); | 488 assert(_exception_name != NULL, "exception_name should be set"); |
686 tty->print_cr("Slots that need filling:"); | 686 tty->print_cr("Slots that need filling:"); |
687 streamIndentor si(tty); | 687 streamIndentor si(tty); |
688 for (int i = 0; i < slots->length(); ++i) { | 688 for (int i = 0; i < slots->length(); ++i) { |
689 tty->indent(); | 689 tty->indent(); |
690 slots->at(i)->print_on(tty); | 690 slots->at(i)->print_on(tty); |
691 tty->print_cr(""); | 691 tty->cr(); |
692 } | 692 } |
693 } | 693 } |
694 #endif // ndef PRODUCT | 694 #endif // ndef PRODUCT |
695 return slots; | 695 return slots; |
696 } | 696 } |
826 #ifndef PRODUCT | 826 #ifndef PRODUCT |
827 if (TraceDefaultMethods) { | 827 if (TraceDefaultMethods) { |
828 streamIndentor si(tty, 2); | 828 streamIndentor si(tty, 2); |
829 tty->indent().print("Looking for default methods for slot "); | 829 tty->indent().print("Looking for default methods for slot "); |
830 slot->print_on(tty); | 830 slot->print_on(tty); |
831 tty->print_cr(""); | 831 tty->cr(); |
832 } | 832 } |
833 #endif // ndef PRODUCT | 833 #endif // ndef PRODUCT |
834 | 834 |
835 generate_erased_defaults(klass, empty_slots, slot, CHECK); | 835 generate_erased_defaults(klass, empty_slots, slot, CHECK); |
836 } | 836 } |
944 | 944 |
945 #ifndef PRODUCT | 945 #ifndef PRODUCT |
946 if (TraceDefaultMethods) { | 946 if (TraceDefaultMethods) { |
947 tty->print("for slot: "); | 947 tty->print("for slot: "); |
948 slot->print_on(tty); | 948 slot->print_on(tty); |
949 tty->print_cr(""); | 949 tty->cr(); |
950 if (method->has_target()) { | 950 if (method->has_target()) { |
951 method->print_selected(tty, 1); | 951 method->print_selected(tty, 1); |
952 } else if (method->throws_exception()) { | 952 } else if (method->throws_exception()) { |
953 method->print_exception(tty, 1); | 953 method->print_exception(tty, 1); |
954 } | 954 } |