Skip to content

Commit

Permalink
The changes reflect the feature request #16416.
Browse files Browse the repository at this point in the history
Instead of printing the memory address for string arguments, print the actual string at max of 32 characters.
There will be subsequent PRs for cmdline option for string length and tests.

Closes: #16416
Signed-off-by: Nick Kamal <[email protected]>
  • Loading branch information
h3110n3rv3 committed Nov 21, 2024
1 parent 9f8b981 commit 343c787
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions runtime/rastrace/method_trace.c
Original file line number Diff line number Diff line change
Expand Up @@ -487,12 +487,12 @@ traceMethodArgObject(J9VMThread *thr, UDATA* arg0EA, char* cursor, UDATA length)
char stringArgBuffer[DEFAULT_BUFFER_LENGTH];

J9InternalVMFunctions const * const vmFuncs = thr->javaVM->internalVMFunctions;
char *stringArgUTF8 = vmFuncs->copyStringToUTF8WithMemAlloc(thr, object, J9_STR_NULL_TERMINATE_RESULT, "", 0, stringArgBuffer, DEFAULT_BUFFER_LENGTH, NULL);
char *stringArgUTF8 = vmFuncs->copyStringToUTF8WithMemAlloc(thr, object, J9_STR_NULL_TERMINATE_RESULT, " ", 2, stringArgBuffer, DEFAULT_BUFFER_LENGTH, NULL);

if(DEFAULT_STRING_LENGTH < strlen(stringArgUTF8)) {
j9str_printf(PORTLIB, cursor, length, "%.*s@%.32s...", (U_32)J9UTF8_LENGTH(className), J9UTF8_DATA(className), stringArgUTF8);
j9str_printf(PORTLIB, cursor, length, "(String)%.*s...", (U_32)DEFAULT_STRING_LENGTH, J9UTF8_DATA(stringArgUTF8));
} else {
j9str_printf(PORTLIB, cursor, length, "%.*s@%s", (U_32)J9UTF8_LENGTH(className), J9UTF8_DATA(className), stringArgUTF8);
j9str_printf(PORTLIB, cursor, length, "(String)%.*s", (U_32)J9UTF8_LENGTH(stringArgUTF8), J9UTF8_DATA(stringArgUTF8));
}

if ((char*)stringArgBuffer != stringArgUTF8) {
Expand Down

0 comments on commit 343c787

Please sign in to comment.