hotspot/src/share/vm/runtime/vmStructs.cpp
changeset 27905 12c6386f6775
parent 27904 d606512952cc
parent 27883 3179632c8f66
child 28032 195f814dfa62
child 29181 89beae49867c
equal deleted inserted replaced
27904:d606512952cc 27905:12c6386f6775
  3265     char * s = NEW_C_HEAP_ARRAY(char, len, mtInternal);
  3265     char * s = NEW_C_HEAP_ARRAY(char, len, mtInternal);
  3266     strncpy(s, typeName, len - 1);
  3266     strncpy(s, typeName, len - 1);
  3267     s[len-1] = '\0';
  3267     s[len-1] = '\0';
  3268     // tty->print_cr("checking \"%s\" for \"%s\"", s, typeName);
  3268     // tty->print_cr("checking \"%s\" for \"%s\"", s, typeName);
  3269     if (recursiveFindType(origtypes, s, true) == 1) {
  3269     if (recursiveFindType(origtypes, s, true) == 1) {
  3270       FREE_C_HEAP_ARRAY(char, s, mtInternal);
  3270       FREE_C_HEAP_ARRAY(char, s);
  3271       return 1;
  3271       return 1;
  3272     }
  3272     }
  3273     FREE_C_HEAP_ARRAY(char, s, mtInternal);
  3273     FREE_C_HEAP_ARRAY(char, s);
  3274   }
  3274   }
  3275   const char* start = NULL;
  3275   const char* start = NULL;
  3276   if (strstr(typeName, "GrowableArray<") == typeName) {
  3276   if (strstr(typeName, "GrowableArray<") == typeName) {
  3277     start = typeName + strlen("GrowableArray<");
  3277     start = typeName + strlen("GrowableArray<");
  3278   } else if (strstr(typeName, "Array<") == typeName) {
  3278   } else if (strstr(typeName, "Array<") == typeName) {
  3284     char * s = NEW_C_HEAP_ARRAY(char, len, mtInternal);
  3284     char * s = NEW_C_HEAP_ARRAY(char, len, mtInternal);
  3285     strncpy(s, start, len - 1);
  3285     strncpy(s, start, len - 1);
  3286     s[len-1] = '\0';
  3286     s[len-1] = '\0';
  3287     // tty->print_cr("checking \"%s\" for \"%s\"", s, typeName);
  3287     // tty->print_cr("checking \"%s\" for \"%s\"", s, typeName);
  3288     if (recursiveFindType(origtypes, s, true) == 1) {
  3288     if (recursiveFindType(origtypes, s, true) == 1) {
  3289       FREE_C_HEAP_ARRAY(char, s, mtInternal);
  3289       FREE_C_HEAP_ARRAY(char, s);
  3290       return 1;
  3290       return 1;
  3291     }
  3291     }
  3292     FREE_C_HEAP_ARRAY(char, s, mtInternal);
  3292     FREE_C_HEAP_ARRAY(char, s);
  3293   }
  3293   }
  3294   if (strstr(typeName, "const ") == typeName) {
  3294   if (strstr(typeName, "const ") == typeName) {
  3295     const char * s = typeName + strlen("const ");
  3295     const char * s = typeName + strlen("const ");
  3296     // tty->print_cr("checking \"%s\" for \"%s\"", s, typeName);
  3296     // tty->print_cr("checking \"%s\" for \"%s\"", s, typeName);
  3297     if (recursiveFindType(origtypes, s, true) == 1) {
  3297     if (recursiveFindType(origtypes, s, true) == 1) {