added warningCount to yet another place

Summary: Apparently there's one more place where warningCount has to be
added before hhvm will deign to let me use it

Reviewed By: @​lins

Differential Revision: D1593792
Apply negation to cgCoerceType's use of emitTypeTest()

Summary: emitTypeTest() expects the caller to negate its
test results when jumping.  cgCoerceStk currently violates
this on the promise that it doesn't use specialized types.

This diff teaches cgCoerceStk to behave nicely by negating the
condition and jumping around multiple blocks.

Vasm then cleans up this dance and we wind up with the same x86
as we're currently generating.

Reviewed By: @swtaarrs

Differential Revision: D1588928
Fix SOAP extension type encoding

Summary: Fix a stack overflow issue when an xs:extension type in the SOAP
request is present in the SoapClient class map
Closes https://github.com/facebook/hhvm/pull/3893

Reviewed By: @paulbiss

Differential Revision: D1589586
Revert "[hack] Remove definition of pipe operator"

Summary: This reverts commit 49bd72d384073cb397a56be00fac33cd139275fc.

We need to support OCaml 3+ in the OSS build, so I'll have to figure out a way
to conditionally compile this... will figure out how to do that at some point,
but let's revert this first.

Reviewed By: @paulbiss

Differential Revision: D1593981
Avoid creating empty intervals.

Summary: They cause flatten_ to get into an infinite loop...

Reviewed By: @elgenie

Differential Revision: D1589759
Fix walkstack with explicit sp arg

Summary: typo

Reviewed By: @mxw

Differential Revision: D1593896
Speed up hh_find_lvar_refs

Summary: All the logic for this happens during naming, but we were doing a full check.

This reduced run time by 80% for the files I tried.

Reviewed By: @jwatzman

Differential Revision: D1576504
Speed up hh_arg_info

Summary: This only happens during typechecking, so that's all we'll do.

reduces runtime by 25%.

Reviewed By: @jwatzman

Differential Revision: D1576731
Speed up js hh_check_file by caching the errors when we declare them

Summary: We only cache the first error/no error because that's all we actually need.

This gives us 20% of the time back to run hh_check_file, for the random files I tried.

Since checking can hold up the webworker and delay autocomplete, this is helpful.

Reviewed By: @jwatzman

Differential Revision: D1576224
Don't retype SSATmps to type Bottom

Summary: HHIR instructions don't like this, so avoid generating it. The cases
that this can happen, the code is unreachable anyway.

Reviewed By: @bertmaher

Differential Revision: D1593542
Convert string to HNI

Reviewed By: @ptarjan

Differential Revision: D1551020