Bug 1730034 - Show polymorphism in WarpTrialInlining spew. r=iain

When doing trial inlining, show a spew message for cases that are not being
inlined due to polymorphism. Also fix indentation of SUCCESS in existing spew.

Differential Revision: https://phabricator.services.mozilla.com/D125133
This commit is contained in:
Ted Campbell 2021-09-13 21:11:06 +00:00
Родитель a6ae4c4cf1
Коммит 2c14cf0966
1 изменённых файлов: 10 добавлений и 0 удалений

Просмотреть файл

@ -584,6 +584,7 @@ ICScript* TrialInliner::createInlinedICScript(JSFunction* target,
root_->addToTotalBytecodeSize(targetScript->length()); root_->addToTotalBytecodeSize(targetScript->length());
JitSpewIndent spewIndent(JitSpew_WarpTrialInlining);
JitSpew(JitSpew_WarpTrialInlining, JitSpew(JitSpew_WarpTrialInlining,
"SUCCESS: Outer ICScript: %p Inner ICScript: %p pcOffset: %u", "SUCCESS: Outer ICScript: %p Inner ICScript: %p pcOffset: %u",
icScript_, result, pcOffset); icScript_, result, pcOffset);
@ -595,6 +596,15 @@ bool TrialInliner::maybeInlineCall(ICEntry& entry, ICFallbackStub* fallback,
BytecodeLocation loc) { BytecodeLocation loc) {
ICCacheIRStub* stub = maybeSingleStub(entry); ICCacheIRStub* stub = maybeSingleStub(entry);
if (!stub) { if (!stub) {
#ifdef JS_JITSPEW
if (fallback->numOptimizedStubs() > 1) {
JitSpew(JitSpew_WarpTrialInlining,
"Inlining candidate JSOp::%s:", CodeName(loc.getOp()));
JitSpewIndent spewIndent(JitSpew_WarpTrialInlining);
JitSpew(JitSpew_WarpTrialInlining, "SKIP: Polymorphic (%u stubs)",
(unsigned)fallback->numOptimizedStubs());
}
#endif
return true; return true;
} }