Skip to content

Commit 994ce53

Browse files
committed
Avoid invalidating methods whose PC is NULL
1 parent 690a8b4 commit 994ce53

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

runtime/compiler/control/DebugAgent.cpp

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -220,10 +220,23 @@ debugAgentRevertToInterpreter(J9VMThread* vmThread, J9JITExceptionTable *jitMeth
220220
J9UTF8 *className = J9ROMCLASS_CLASSNAME(clazz->romClass);
221221

222222
void *pc = compInfo->getPCIfCompiled(jitMethod->ramMethod);
223-
fprintf(stderr, "Invalidating PC = %p %.*s.%.*s%.*s\n", pc,
224-
(int)J9UTF8_LENGTH(className), J9UTF8_DATA(className),
225-
(int)J9UTF8_LENGTH(methName), J9UTF8_DATA(methName),
226-
(int)J9UTF8_LENGTH(methSig), J9UTF8_DATA(methSig));
223+
224+
if (pc != NULL)
225+
{
226+
fprintf(stderr, "Invalidating PC = %p %.*s.%.*s%.*s\n", pc,
227+
(int)J9UTF8_LENGTH(className), J9UTF8_DATA(className),
228+
(int)J9UTF8_LENGTH(methName), J9UTF8_DATA(methName),
229+
(int)J9UTF8_LENGTH(methSig), J9UTF8_DATA(methSig));
230+
}
231+
else
232+
{
233+
fprintf(stderr, "Cannot invalidate method because PC == NULL %.*s.%.*s%.*s\n",
234+
(int)J9UTF8_LENGTH(className), J9UTF8_DATA(className),
235+
(int)J9UTF8_LENGTH(methName), J9UTF8_DATA(methName),
236+
(int)J9UTF8_LENGTH(methSig), J9UTF8_DATA(methSig));
237+
238+
return false;
239+
}
227240

228241
TR::Recompilation::methodCannotBeRecompiled(pc, frontendOfThread);
229242

0 commit comments

Comments
 (0)