hotspot/src/share/vm/ci/ciInstanceKlass.cpp
changeset 24424 2658d7834c6e
parent 21209 5eecc37ceb93
child 26706 1e985d72c57f
equal deleted inserted replaced
24358:8528b67f6562 24424:2658d7834c6e
     1 /*
     1 /*
     2  * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
   290 // ciInstanceKlass::print_impl
   290 // ciInstanceKlass::print_impl
   291 //
   291 //
   292 // Implementation of the print method.
   292 // Implementation of the print method.
   293 void ciInstanceKlass::print_impl(outputStream* st) {
   293 void ciInstanceKlass::print_impl(outputStream* st) {
   294   ciKlass::print_impl(st);
   294   ciKlass::print_impl(st);
   295   GUARDED_VM_ENTRY(st->print(" loader=0x%x", (address)loader());)
   295   GUARDED_VM_ENTRY(st->print(" loader=" INTPTR_FORMAT, p2i((address)loader()));)
   296   if (is_loaded()) {
   296   if (is_loaded()) {
   297     st->print(" loaded=true initialized=%s finalized=%s subklass=%s size=%d flags=",
   297     st->print(" loaded=true initialized=%s finalized=%s subklass=%s size=%d flags=",
   298               bool_to_str(is_initialized()),
   298               bool_to_str(is_initialized()),
   299               bool_to_str(has_finalizer()),
   299               bool_to_str(has_finalizer()),
   300               bool_to_str(has_subklass()),
   300               bool_to_str(has_subklass()),
   616         case T_BYTE:    _out->print_cr("%d", mirror->byte_field(fd->offset()));   break;
   616         case T_BYTE:    _out->print_cr("%d", mirror->byte_field(fd->offset()));   break;
   617         case T_BOOLEAN: _out->print_cr("%d", mirror->bool_field(fd->offset()));   break;
   617         case T_BOOLEAN: _out->print_cr("%d", mirror->bool_field(fd->offset()));   break;
   618         case T_SHORT:   _out->print_cr("%d", mirror->short_field(fd->offset()));  break;
   618         case T_SHORT:   _out->print_cr("%d", mirror->short_field(fd->offset()));  break;
   619         case T_CHAR:    _out->print_cr("%d", mirror->char_field(fd->offset()));   break;
   619         case T_CHAR:    _out->print_cr("%d", mirror->char_field(fd->offset()));   break;
   620         case T_INT:     _out->print_cr("%d", mirror->int_field(fd->offset()));    break;
   620         case T_INT:     _out->print_cr("%d", mirror->int_field(fd->offset()));    break;
   621         case T_LONG:    _out->print_cr(INT64_FORMAT, mirror->long_field(fd->offset()));   break;
   621         case T_LONG:    _out->print_cr(INT64_FORMAT, (int64_t)(mirror->long_field(fd->offset())));   break;
   622         case T_FLOAT: {
   622         case T_FLOAT: {
   623           float f = mirror->float_field(fd->offset());
   623           float f = mirror->float_field(fd->offset());
   624           _out->print_cr("%d", *(int*)&f);
   624           _out->print_cr("%d", *(int*)&f);
   625           break;
   625           break;
   626         }
   626         }
   627         case T_DOUBLE: {
   627         case T_DOUBLE: {
   628           double d = mirror->double_field(fd->offset());
   628           double d = mirror->double_field(fd->offset());
   629           _out->print_cr(INT64_FORMAT, *(jlong*)&d);
   629           _out->print_cr(INT64_FORMAT, *(int64_t*)&d);
   630           break;
   630           break;
   631         }
   631         }
   632         case T_ARRAY: {
   632         case T_ARRAY: {
   633           oop value =  mirror->obj_field_acquire(fd->offset());
   633           oop value =  mirror->obj_field_acquire(fd->offset());
   634           if (value == NULL) {
   634           if (value == NULL) {
   654               _out->print("\"");
   654               _out->print("\"");
   655               _out->print_raw(java_lang_String::as_quoted_ascii(value));
   655               _out->print_raw(java_lang_String::as_quoted_ascii(value));
   656               _out->print_cr("\"");
   656               _out->print_cr("\"");
   657             } else {
   657             } else {
   658               const char* klass_name  = value->klass()->name()->as_quoted_ascii();
   658               const char* klass_name  = value->klass()->name()->as_quoted_ascii();
   659               _out->print_cr(klass_name);
   659               _out->print_cr("%s", klass_name);
   660             }
   660             }
   661           } else {
   661           } else {
   662             ShouldNotReachHere();
   662             ShouldNotReachHere();
   663           }
   663           }
   664           break;
   664           break;