< prev index next >

src/share/vm/oops/objArrayKlass.cpp

Print this page




 640   }
 641 }
 642 
 643 #endif //PRODUCT
 644 
 645 static int max_objArray_print_length = 4;
 646 
 647 void ObjArrayKlass::oop_print_value_on(oop obj, outputStream* st) {
 648   assert(obj->is_objArray(), "must be objArray");
 649   st->print("a ");
 650   element_klass()->print_value_on(st);
 651   int len = objArrayOop(obj)->length();
 652   st->print("[%d] ", len);
 653   obj->print_address_on(st);
 654   if (NOT_PRODUCT(PrintOopAddress ||) PrintMiscellaneous && (WizardMode || Verbose)) {
 655     st->print("{");
 656     for (int i = 0; i < len; i++) {
 657       if (i > max_objArray_print_length) {
 658         st->print("..."); break;
 659       }
 660       st->print(" "INTPTR_FORMAT, (intptr_t)(void*)objArrayOop(obj)->obj_at(i));
 661     }
 662     st->print(" }");
 663   }
 664 }
 665 
 666 const char* ObjArrayKlass::internal_name() const {
 667   return external_name();
 668 }
 669 
 670 
 671 // Verification
 672 
 673 void ObjArrayKlass::verify_on(outputStream* st) {
 674   ArrayKlass::verify_on(st);
 675   guarantee(element_klass()->is_klass(), "should be klass");
 676   guarantee(bottom_klass()->is_klass(), "should be klass");
 677   Klass* bk = bottom_klass();
 678   guarantee(bk->oop_is_instance() || bk->oop_is_typeArray(),  "invalid bottom klass");
 679 }
 680 


 640   }
 641 }
 642 
 643 #endif //PRODUCT
 644 
 645 static int max_objArray_print_length = 4;
 646 
 647 void ObjArrayKlass::oop_print_value_on(oop obj, outputStream* st) {
 648   assert(obj->is_objArray(), "must be objArray");
 649   st->print("a ");
 650   element_klass()->print_value_on(st);
 651   int len = objArrayOop(obj)->length();
 652   st->print("[%d] ", len);
 653   obj->print_address_on(st);
 654   if (NOT_PRODUCT(PrintOopAddress ||) PrintMiscellaneous && (WizardMode || Verbose)) {
 655     st->print("{");
 656     for (int i = 0; i < len; i++) {
 657       if (i > max_objArray_print_length) {
 658         st->print("..."); break;
 659       }
 660       st->print(" " INTPTR_FORMAT, (intptr_t)(void*)objArrayOop(obj)->obj_at(i));
 661     }
 662     st->print(" }");
 663   }
 664 }
 665 
 666 const char* ObjArrayKlass::internal_name() const {
 667   return external_name();
 668 }
 669 
 670 
 671 // Verification
 672 
 673 void ObjArrayKlass::verify_on(outputStream* st) {
 674   ArrayKlass::verify_on(st);
 675   guarantee(element_klass()->is_klass(), "should be klass");
 676   guarantee(bottom_klass()->is_klass(), "should be klass");
 677   Klass* bk = bottom_klass();
 678   guarantee(bk->oop_is_instance() || bk->oop_is_typeArray(),  "invalid bottom klass");
 679 }
 680 
< prev index next >