src/hotspot/share/oops/objArrayKlass.cpp
changeset 58722 cba8afa5cfed
parent 58177 4932dce35882
equal deleted inserted replaced
58720:ae0af9fb3dbb 58722:cba8afa5cfed
   104     ResourceMark rm(THREAD);
   104     ResourceMark rm(THREAD);
   105     char *name_str = element_klass->name()->as_C_string();
   105     char *name_str = element_klass->name()->as_C_string();
   106     int len = element_klass->name()->utf8_length();
   106     int len = element_klass->name()->utf8_length();
   107     char *new_str = NEW_RESOURCE_ARRAY(char, len + 4);
   107     char *new_str = NEW_RESOURCE_ARRAY(char, len + 4);
   108     int idx = 0;
   108     int idx = 0;
   109     new_str[idx++] = '[';
   109     new_str[idx++] = JVM_SIGNATURE_ARRAY;
   110     if (element_klass->is_instance_klass()) { // it could be an array or simple type
   110     if (element_klass->is_instance_klass()) { // it could be an array or simple type
   111       new_str[idx++] = 'L';
   111       new_str[idx++] = JVM_SIGNATURE_CLASS;
   112     }
   112     }
   113     memcpy(&new_str[idx], name_str, len * sizeof(char));
   113     memcpy(&new_str[idx], name_str, len * sizeof(char));
   114     idx += len;
   114     idx += len;
   115     if (element_klass->is_instance_klass()) {
   115     if (element_klass->is_instance_klass()) {
   116       new_str[idx++] = ';';
   116       new_str[idx++] = JVM_SIGNATURE_ENDCLASS;
   117     }
   117     }
   118     new_str[idx++] = '\0';
   118     new_str[idx++] = '\0';
   119     name = SymbolTable::new_permanent_symbol(new_str);
   119     name = SymbolTable::new_permanent_symbol(new_str);
   120     if (element_klass->is_instance_klass()) {
   120     if (element_klass->is_instance_klass()) {
   121       InstanceKlass* ik = InstanceKlass::cast(element_klass);
   121       InstanceKlass* ik = InstanceKlass::cast(element_klass);