Implement checkProfile for OptProloguenightly-2021.06.24
commit37ed6b728e0df0281db887c30a5dbbe25f24a412
authorKaty Voor <voork@fb.com>
Thu, 24 Jun 2021 01:48:04 +0000 (23 18:48 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Thu, 24 Jun 2021 01:49:32 +0000 (23 18:49 -0700)
tree52692257c6a6182be59d860a797b5d53f6b737ff
parentc86d210cb2677ac6b22dca134c568c4d9efda140
Implement checkProfile for OptPrologue

Summary:
The `reportRegion()` lambda in `checkProfile` assumed the TransKind is Optimize. The TransKind can now be OptPrologue, identified by the PrologueID instead of a RegionDesc.

`reportRegion()` triggers when there are missing block counters, or there is a mismatch between the opcode stored in the profile vs what we find in the optimized translation.

See [RFC] in test plan.

On V2 run, hhvm-flib-test-dbgo passes on all tests except 2 that were failing at the time.
Inspected all coredumps and have seen these all on another diff I have that is empty.

Reviewed By: paulbiss

Differential Revision: D29231873

fbshipit-source-id: 412dd9aaacbd12ca25f095b7a75fa50c201e4d5b
hphp/runtime/base/runtime-option.h
hphp/runtime/vm/jit/vasm-block-counters.cpp