[Perf] Optimize injection
Summary:
(1) Inlines the ProfilerInjection m_info->m_profiler check, since hotprofiler
is only enabled at a very low rate.
(2) Use String pointer and ObjectData * for late static binding in
FrameInjection, to reduce the cost of destruction.
(3) Simplifies recursion and timeout checks. They don't really need an object
on stack to do any cleanup.
Test Plan:
fast_tests
slow_tests
production tests
DiffCamp Revision: 173643
Reviewed By: mwilliams
Commenters: ps
CC: ps, qixin, mwilliams, hphp-diffs@lists
Tasks:
#417275: Optimize FrameInjection-related code
Revert Plan:
OK
15 files changed: