equal
deleted
inserted
replaced
476 f(as_klassOop()); |
476 f(as_klassOop()); |
477 } |
477 } |
478 |
478 |
479 |
479 |
480 const char* Klass::external_name() const { |
480 const char* Klass::external_name() const { |
|
481 if (oop_is_instance()) { |
|
482 instanceKlass* ik = (instanceKlass*) this; |
|
483 if (ik->is_anonymous()) { |
|
484 assert(AnonymousClasses, ""); |
|
485 intptr_t hash = ik->java_mirror()->identity_hash(); |
|
486 char hash_buf[40]; |
|
487 sprintf(hash_buf, "/" UINTX_FORMAT, (uintx)hash); |
|
488 size_t hash_len = strlen(hash_buf); |
|
489 |
|
490 size_t result_len = name()->utf8_length(); |
|
491 char* result = NEW_RESOURCE_ARRAY(char, result_len + hash_len + 1); |
|
492 name()->as_klass_external_name(result, (int) result_len + 1); |
|
493 assert(strlen(result) == result_len, ""); |
|
494 strcpy(result + result_len, hash_buf); |
|
495 assert(strlen(result) == result_len + hash_len, ""); |
|
496 return result; |
|
497 } |
|
498 } |
481 return name()->as_klass_external_name(); |
499 return name()->as_klass_external_name(); |
482 } |
500 } |
483 |
501 |
484 |
502 |
485 char* Klass::signature_name() const { |
503 char* Klass::signature_name() const { |