From c9c3e90cc167d82cd0163b0ab06d5fc8ea39f8b5 Mon Sep 17 00:00:00 2001 From: Mark Williams Date: Wed, 16 May 2018 15:49:47 -0700 Subject: [PATCH] Add an option to run printir for optimized translations Summary: Often its the only thing we're interested in. Reviewed By: paulbiss Differential Revision: D8026851 fbshipit-source-id: 673332058b2311951174362e9a0c23b136fa8f04 --- hphp/runtime/base/runtime-option.h | 1 + hphp/runtime/vm/jit/mcgen-translate.cpp | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/hphp/runtime/base/runtime-option.h b/hphp/runtime/base/runtime-option.h index 401b710671f..bccb156f985 100644 --- a/hphp/runtime/base/runtime-option.h +++ b/hphp/runtime/base/runtime-option.h @@ -512,6 +512,7 @@ struct RuntimeOption { F(int, JitThreads, 4) \ F(int, JitWorkerThreads, Process::GetCPUCount() / 2) \ F(int, JitLdimmqSpan, 8) \ + F(int, JitPrintOptimizedIR, 0) \ F(bool, RecordSubprocessTimes, false) \ F(bool, AllowHhas, false) \ F(bool, DisassemblerSourceMapping, true) \ diff --git a/hphp/runtime/vm/jit/mcgen-translate.cpp b/hphp/runtime/vm/jit/mcgen-translate.cpp index c38d89d31b1..a90dc3a93e8 100644 --- a/hphp/runtime/vm/jit/mcgen-translate.cpp +++ b/hphp/runtime/vm/jit/mcgen-translate.cpp @@ -72,6 +72,9 @@ void optimize(tc::FuncMetaInfo& info) { bumpLoads.emplace(Trace::hhir_load, -10); bumpStores.emplace(Trace::hhir_store, -10); bumpPrint.emplace(Trace::printir, -10); + } else if (RuntimeOption::EvalJitPrintOptimizedIR) { + bumpPrint.emplace(Trace::printir, + -RuntimeOption::EvalJitPrintOptimizedIR); } // Regenerate the prologues and DV funclets before the actual function body. @@ -120,11 +123,10 @@ struct TranslateWorker : JobQueueWorker { // Check if the func was treadmilled before the job started if (!Func::isFuncIdValid(d->id)) return; - VMProtect _; - if (profData()->optimized(d->id)) return; profData()->setOptimized(d->id); + VMProtect _; optimize(d->info); } }; -- 2.11.4.GIT