Fix a leak in HNI ActRec functions

Summary: They don't free their extraArgs. Since the main reason
for using an ActRec function is to allow extra arguments, this
seems like it might be quite common.

Reviewed By: @edwinsmith, @jdelong

Differential Revision: D1580527
ArrayUtil::RegularSortUnique(): pre-allocate array based on unique count

Reviewed By: @elgenie

Differential Revision: D1580109
An async method's return annotation (if there is one) must be "Awaitable"

Summary: This takes the first step for improving return type enforcement for async
functions. We enforce that if there is a return type annotation, it must be
"Awaitable" or "Awaitable<T>".

This diff also adds some missing plumbing for return annotations for
closures and lambdas.

Reviewed By: @elgenie

Differential Revision: D1566028
Mass Config::GetFoo to Config::Bind migration (Part 1 of ??)

Summary: Let's start moving this ini migration along. We want to be able to use ini_get() with a
bunch of these, for example.

This focuses on APC and the debugger, with a bit of ancillary cleanup

Reviewed By: @ptarjan

Differential Revision: D1579248
Dont init request-local stream wrappers in Stream::getWrapper

Summary: Causes intermittent SIGSEGV with StatCache.

Reviewed By: @markw65

Differential Revision: D1581335
Enable StatCache in hphp/test/frameworks/perf

Summary: opcache does something fairly equivalent

Reviewed By: @JoelMarcey

Differential Revision: D1581389
Kill map from BlockId to region Block

Summary: RegionDesc now has an API for this, so just use it.

Reviewed By: @bertmaher

Differential Revision: D1581428
pass transport to teardownRequest

Summary: We need it for access logging

Reviewed By: @mxw

Differential Revision: D1581101
add --skip-database-install option to perf suite

Summary: To speed up the profiling/improvement workflow. Requires --i-am-not-benchmarking

Reviewed By: @JoelMarcey

Differential Revision: D1581839
Remove unnecessary includes to ir.h

Summary: Replace with forward declares or more appropriate headers.

Reviewed By: @edwinsmith

Differential Revision: D1579965
Fix leak in hphp_set_error_page

Summary: ExecutionContext is now "swept" rather than deleted.
I missed m_errorPage in the conversion.

It turns out that its always set from a String, and the only reads
from it read it and convert it to a String. So just store it as a
String.

Reviewed By: @edwinsmith

Differential Revision: D1583527
Allow hphpd to wakeup DateTime objects

Summary: It's required to initialize the native field m_dt

Reviewed By: @markw65

Differential Revision: D1571474
Remove "analyze" target from hphp (aka "Nemo", or "CodeError.js")

Summary: We're going to delete much of the code that the analyze target is
based on, since it's not used for anything else anymore, and we have Hack as a
better alternative for most use cases now.

This is a commit that mostly only removes the build target so it's easy to see
what the last rev that supported Nemo was.

Reviewed By: @elgenie

Differential Revision: D1574985
Remove a use of strncpy

Summary: Because meyering hates it.  (And so do I.)

Reviewed By: @meyering

Differential Revision: D1575000
Remove GenerateInferredTypes

Summary: The php target still called inferTypes() when this is enabled.

Reviewed By: @swtaarrs

Differential Revision: D1575266
Remove AST inferTypes functions and some associated helpers

Reviewed By: @swtaarrs

Differential Revision: D1575273
Remove AST postOptimize functions, and a bit of the helpers

Reviewed By: @swtaarrs

Differential Revision: D1575416
Rename CompactSizedPtr to CompactTaggedPtr

Summary: Most of the uses of this already weren't using the the space for a
size, and I'll probably be adding another in APC.  Also make it support a tag
type parameter so you can get some type-safety on the set member if you're
using it with enum classes.

Reviewed By: @markw65

Differential Revision: D1578550
Revert "An async method's return annotation (if there is one) must be "Awaitable""

Summary: This reverts commit 519de5f5e46a591d1811d9e6913f675733e7cff3.
D1566028

Reviewed By: @markw65

Differential Revision: D1584349
Get Eval.JitGlobalTranslationLimit working again

Summary: It looks like this has been broken for a while. This diff gets this
option working again, changes things to leverage the shouldTranslate()
function instead of turning off Eval.Jit, and also counts prologue
translations.

Reviewed By: @alexmalyshev

Differential Revision: D1582259