Skip to content

Commit

Permalink
Update method_trace.c
Browse files Browse the repository at this point in the history
  • Loading branch information
h3110n3rv3 committed Feb 4, 2025
1 parent c8eb717 commit 5aa88f6
Showing 1 changed file with 30 additions and 28 deletions.
58 changes: 30 additions & 28 deletions runtime/rastrace/method_trace.c
Original file line number Diff line number Diff line change
Expand Up @@ -216,34 +216,36 @@ traceMethodEnter(J9VMThread *thr, J9Method *method, void *receiverAddress, UDATA
}
}

if ((receiverClazz == J9VMJAVALANGSTRING_OR_NULL(vm))
&& (0 != maxStringLength)
&& !J9UTF8_LITERAL_EQUALS(J9UTF8_DATA(methodName), J9UTF8_LENGTH(methodName), "<init>")
) {
PORT_ACCESS_FROM_VMC(thr);
char utf8Buffer[RAS_MAX_STRING_LENGTH_LIMIT + 1];
char outputString[RAS_MAX_STRING_LENGTH_LIMIT + 1];
UDATA utf8Length = 0;

char *utf8String = vm->internalVMFunctions->copyStringToUTF8WithMemAlloc(
thr,
receiver,
0,
"",
0,
utf8Buffer,
sizeof(utf8Buffer),
&utf8Length);
if (NULL == utf8String) {
j9str_printf(outputString, RAS_MAX_STRING_LENGTH_LIMIT + 1, "(String)@%p - <Memory allocation error>", receiver);
} else if (utf8Length > maxStringLength) {
j9str_printf(outputString, RAS_MAX_STRING_LENGTH_LIMIT + 1, "(String)@%p - \"%.*s\"...", receiver, (U_32)maxStringLength, utf8String);
} else {
j9str_printf(outputString, RAS_MAX_STRING_LENGTH_LIMIT + 1, "(String)@%p - \"%.*s\"", receiver, (U_32)utf8Length, utf8String);
}
Trc_MethodEntryStr(thr, J9UTF8_LENGTH(className), J9UTF8_DATA(className), J9UTF8_LENGTH(methodName), J9UTF8_DATA(methodName), J9UTF8_LENGTH(methodSignature), J9UTF8_DATA(methodSignature), J9UTF8_LENGTH(outputString), outputString);
if (utf8Buffer != utf8String) {
j9mem_free_memory(utf8String);
if (doParameters) {
if ((receiverClazz == J9VMJAVALANGSTRING_OR_NULL(vm))
&& (0 != maxStringLength)
&& !J9UTF8_LITERAL_EQUALS(J9UTF8_DATA(methodName), J9UTF8_LENGTH(methodName), "<init>")
) {
PORT_ACCESS_FROM_VMC(thr);
char utf8Buffer[RAS_MAX_STRING_LENGTH_LIMIT + 1];
char outputString[RAS_MAX_STRING_LENGTH_LIMIT + 1];
UDATA utf8Length = 0;

char *utf8String = vm->internalVMFunctions->copyStringToUTF8WithMemAlloc(
thr,
receiver,
0,
"",
0,
utf8Buffer,
sizeof(utf8Buffer),
&utf8Length);
if (NULL == utf8String) {
j9str_printf(outputString, RAS_MAX_STRING_LENGTH_LIMIT + 1, "(String)@%p - <Memory allocation error>", receiver);
} else if (utf8Length > maxStringLength) {
j9str_printf(outputString, RAS_MAX_STRING_LENGTH_LIMIT + 1, "(String)@%p - \"%.*s\"...", receiver, (U_32)maxStringLength, utf8String);
} else {
j9str_printf(outputString, RAS_MAX_STRING_LENGTH_LIMIT + 1, "(String)@%p - \"%.*s\"", receiver, (U_32)utf8Length, utf8String);
}
Trc_MethodEntryStr(thr, J9UTF8_LENGTH(className), J9UTF8_DATA(className), J9UTF8_LENGTH(methodName), J9UTF8_DATA(methodName), J9UTF8_LENGTH(methodSignature), J9UTF8_DATA(methodSignature), J9UTF8_LENGTH(outputString), outputString);
if (utf8Buffer != utf8String) {
j9mem_free_memory(utf8String);
}
}
}
}
Expand Down

0 comments on commit 5aa88f6

Please sign in to comment.