541 klassString = (char*)calloc(klassSymbolLength + 1, 1); |
541 klassString = (char*)calloc(klassSymbolLength + 1, 1); |
542 err = ps_pread(J->P, klassSymbol + OFFSET_Symbol_body, klassString, klassSymbolLength); |
542 err = ps_pread(J->P, klassSymbol + OFFSET_Symbol_body, klassString, klassSymbolLength); |
543 CHECK_FAIL(err); |
543 CHECK_FAIL(err); |
544 |
544 |
545 result[0] = '\0'; |
545 result[0] = '\0'; |
546 strncat(result, klassString, size); |
546 if (snprintf(result, size, |
547 size -= strlen(klassString); |
547 "%s.%s%s", |
548 strncat(result, ".", size); |
548 klassString, |
549 size -= 1; |
549 nameString, |
550 strncat(result, nameString, size); |
550 signatureString) >= size) { |
551 size -= strlen(nameString); |
551 // truncation |
552 strncat(result, signatureString, size); |
552 goto fail; |
|
553 } |
553 |
554 |
554 if (nameString != NULL) free(nameString); |
555 if (nameString != NULL) free(nameString); |
555 if (klassString != NULL) free(klassString); |
556 if (klassString != NULL) free(klassString); |
556 if (signatureString != NULL) free(signatureString); |
557 if (signatureString != NULL) free(signatureString); |
557 |
558 |
1054 } else { |
1055 } else { |
1055 err = name_for_methodPtr(J, method, result+1, size-1); |
1056 err = name_for_methodPtr(J, method, result+1, size-1); |
1056 CHECK_FAIL(err); |
1057 CHECK_FAIL(err); |
1057 } |
1058 } |
1058 if (deoptimized) { |
1059 if (deoptimized) { |
1059 strncat(result + 1, " [deoptimized frame]; ", size-1); |
1060 strncat(result, " [deoptimized frame]; ", size - strlen(result) - 1); |
1060 } else { |
1061 } else { |
1061 strncat(result + 1, " [compiled] ", size-1); |
1062 strncat(result, " [compiled] ", size - strlen(result) - 1); |
1062 } |
1063 } |
1063 if (debug) |
1064 if (debug) |
1064 fprintf(stderr, "name_for_nmethod: END: method name: %s, vf_cnt: %d\n\n", |
1065 fprintf(stderr, "name_for_nmethod: END: method name: %s, vf_cnt: %d\n\n", |
1065 result, N->vf_cnt); |
1066 result, N->vf_cnt); |
1066 return PS_OK; |
1067 return PS_OK; |