Fix logic to decide when to emit profiling translations
commit52664734f328da0559152351bb427022f3d15800
authorGuilherme Ottoni <ottoni@fb.com>
Sun, 11 May 2014 16:49:16 +0000 (11 09:49 -0700)
committerJoelMarcey <joelm@fb.com>
Mon, 12 May 2014 14:48:09 +0000 (12 07:48 -0700)
treee4bb45a0c2671a7a245013397b66851ddbbf9eec
parent9bb0acfb0b687ffa5a4e54a74a114d8ba633942e
Fix logic to decide when to emit profiling translations

Summary: Occasionally, the JIT was producing profiling prologue (Proflogue)
translations that were never retranslated in Optimize mode.  This diff
fixes a couple of issues that were causing this.

In addition, this diff adds an option to tc-print to filter the top
translations by a specific TransKind.  This was useful to identify the
Proflogue translations that were still reachable.  Analysis of these
translations helped determining the root causes of the problem.

Reviewed By: aravind

Differential Revision: D1323276
hphp/runtime/vm/func.cpp
hphp/runtime/vm/func.h
hphp/runtime/vm/jit/func-prologues-x64.cpp
hphp/runtime/vm/jit/mc-generator.cpp
hphp/runtime/vm/jit/mc-generator.h
hphp/runtime/vm/jit/translator.cpp