Merge

Tue, 25 Aug 2015 11:20:35 -0700

author
asaha
date
Tue, 25 Aug 2015 11:20:35 -0700
changeset 8221
412051537b21
parent 8220
3796eee85889
parent 8140
cc0b8e21a7bb
child 8222
4fa5562faaf6

Merge

.hgtags file | annotate | diff | comparison | revisions
     1.1 --- a/.hgtags	Mon Aug 17 14:02:43 2015 -0700
     1.2 +++ b/.hgtags	Tue Aug 25 11:20:35 2015 -0700
     1.3 @@ -733,6 +733,7 @@
     1.4  d8519b30e607f87cad6c949c6b52c1dba0cde7a8 jdk8u65-b08
     1.5  c6d1a21e213d62f423ac9013bcc7dc0bc05e38b6 jdk8u65-b09
     1.6  0274b03fdf4a3e4d125547d68ed74b4f55d515ec jdk8u65-b10
     1.7 +a106723ba50719c479614d1f599e951edb51506c jdk8u65-b11
     1.8  878cb0df27c22c6b1e9f4add1eb3da3edc8ab51d jdk8u66-b00
     1.9  777a354cada52b831a32bfc5362ad7cedfde4450 jdk8u66-b01
    1.10  0366ad2644f58ec88af9cb2ea8c23a02559fb2d1 hs25.66-b02
    1.11 @@ -742,4 +743,5 @@
    1.12  aedefb75358f3cda5181bf594c2cda833056b25a jdk8u66-b08
    1.13  83621deea0fcb4a517b94c5546b4f8738588cb6c jdk8u66-b09
    1.14  5280a8174aea13bd242480419e6228857dac7b59 jdk8u66-b10
    1.15 +8a23b6392c590b7bf5f6ad2c4746dc03981a7f60 jdk8u66-b11
    1.16  9a158a0c243beb610dbaabd63d6218d3ce5825f1 jdk8u71-b00
     2.1 --- a/src/share/vm/classfile/javaClasses.cpp	Mon Aug 17 14:02:43 2015 -0700
     2.2 +++ b/src/share/vm/classfile/javaClasses.cpp	Tue Aug 25 11:20:35 2015 -0700
     2.3 @@ -782,6 +782,22 @@
     2.4    return name;
     2.5  }
     2.6  
     2.7 +// Returns the Java name for this Java mirror (Resource allocated)
     2.8 +// See Klass::external_name().
     2.9 +// For primitive type Java mirrors, its type name is returned.
    2.10 +const char* java_lang_Class::as_external_name(oop java_class) {
    2.11 +  assert(java_lang_Class::is_instance(java_class), "must be a Class object");
    2.12 +  const char* name = NULL;
    2.13 +  if (is_primitive(java_class)) {
    2.14 +    name = type2name(primitive_type(java_class));
    2.15 +  } else {
    2.16 +    name = as_Klass(java_class)->external_name();
    2.17 +  }
    2.18 +  if (name == NULL) {
    2.19 +    name = "<null>";
    2.20 +  }
    2.21 +  return name;
    2.22 +}
    2.23  
    2.24  Klass* java_lang_Class::array_klass(oop java_class) {
    2.25    Klass* k = ((Klass*)java_class->metadata_field(_array_klass_offset));
     3.1 --- a/src/share/vm/classfile/javaClasses.hpp	Mon Aug 17 14:02:43 2015 -0700
     3.2 +++ b/src/share/vm/classfile/javaClasses.hpp	Tue Aug 25 11:20:35 2015 -0700
     3.3 @@ -270,6 +270,7 @@
     3.4    }
     3.5    static Symbol* as_signature(oop java_class, bool intern_if_not_found, TRAPS);
     3.6    static void print_signature(oop java_class, outputStream *st);
     3.7 +  static const char* as_external_name(oop java_class);
     3.8    // Testing
     3.9    static bool is_instance(oop obj) {
    3.10      return obj != NULL && obj->klass() == SystemDictionary::Class_klass();
     4.1 --- a/src/share/vm/runtime/vframe.cpp	Mon Aug 17 14:02:43 2015 -0700
     4.2 +++ b/src/share/vm/runtime/vframe.cpp	Tue Aug 25 11:20:35 2015 -0700
     4.3 @@ -148,8 +148,7 @@
     4.4    if (obj.not_null()) {
     4.5      st->print("\t- %s <" INTPTR_FORMAT "> ", lock_state, (address)obj());
     4.6      if (obj->klass() == SystemDictionary::Class_klass()) {
     4.7 -      Klass* target_klass = java_lang_Class::as_Klass(obj());
     4.8 -      st->print_cr("(a java.lang.Class for %s)", InstanceKlass::cast(target_klass)->external_name());
     4.9 +      st->print_cr("(a java.lang.Class for %s)", java_lang_Class::as_external_name(obj()));
    4.10      } else {
    4.11        Klass* k = obj->klass();
    4.12        st->print_cr("(a %s)", k->external_name());

mercurial