Add test for static:: and self:: in closures

Summary: We got paranoid after looking at another closure diff.

Reviewed By: @paulbiss

Differential Revision: D1587471
Remove unused parameters from Func constructor

Summary: That's it.

Reviewed By: @mxw

Differential Revision: D1587143
put stack trace location in error log

Summary: It is hard to discover it.

Reviewed By: @JoelMarcey

Differential Revision: D1586009
Remove windows encoding from `.php` files

Reviewed By: @paulbiss

Differential Revision: D1588220
remove windows encoding from .skipif

Reviewed By: @paulbiss

Differential Revision: D1588262
blacklist more file extensions

Summary: Now the repo is clean according to this script and won't spew.

Reviewed By: @JoelMarcey, @paulbiss

Differential Revision: D1588305
Enforce coersion of nullable typehints to HNI functions

Summary: Currently, when an HNI param type is nullable,
we actually skip any kind of type coersion on the basis
that the data passed to the C++ function is a Variant.

This diff applies the underlying coersion anyway,
so long as the passed value is not null.

Reviewed By: @swtaarrs

Differential Revision: D1579204
ARM loose ends in codegen

Summary: Remove redundant code from code-gen-arm now that it
uses virtual registers all the time. There probably isn't
much else to do before trying to merge this into x64::CodeGenerator,
and the biggest missing pass is arm-aware immediate folding.

Reviewed By: @alexmalyshev

Differential Revision: D1586771
Remove the SharedStores wrapper, don't dynamically allocate APC

Summary: There's no reason to put it in the heap, and we don't need the array
of APCs anymore after D1568138.  Let's still delay construction until the same
point, even though it's in a bit of an odd place right now....  (It shouldn't
be before main in any case: it will soon want to read runtime options to know
the initial table size.)

Reviewed By: @mclarkelauer

Differential Revision: D1585742
Move shared-store-base* to apc-file-storage* and rename SharedStoreFileStorage

Summary: The name is historical, and after removing SharedStores it's the only
thing in this header.

Reviewed By: @edwinsmith

Differential Revision: D1585758
Move StringData::Make(const APCString*) functions to string-data.cpp

Summary: These were initially in apc-string so they could be inlined into their
only caller.  But now they aren't called from this translation unit anymore
(and also with useUncounted on we do this a lot less often).  Moving them back
to string-data shouldn't have any effect.  Also "MakeSharedSlowPath" was still
named after the old "SharedVariant", and had nothing to do with the new
"MakeShared".

Reviewed By: @edwinsmith

Differential Revision: D1587043
remove two blacklist extensions

Summary: one was refering to a stupid file, the other i actually covered below

Reviewed By: @paulbiss

Differential Revision: D1588752
Delay type inference of lambdas.

Summary: See code comments.

I think this fixes https://github.com/facebook/hhvm/issues/2787.

There's a larger problem where we don't raise a warning if we're
unsuccessful in inferring the concrete type of a lambda's parameters.
This patch simply reduces the number of cases where we are unsuccessful.

Reviewed By: @jwatzman, @elgenie

Differential Revision: D1582361
Fix handling of exit() in nast_terminality

Reviewed By: @elgenie

Differential Revision: D1590318
Set $name and $class properties in reflection to "public" to leave __get and __set methods free for inheritance

Summary: fixes #2684
Closes https://github.com/facebook/hhvm/pull/3848

Reviewed By: @paulbiss

Differential Revision: D1578197
Fix some typos and "formatos".

Summary: Closes https://github.com/facebook/hhvm/pull/3891

Reviewed By: @paulbiss

Differential Revision: D1588549
Revert "[hack] Fix type error in framework perf script"

Summary: This reverts commit e9fed0cb2ffdf0225d4cc90f16b09f035495124d.

9f7ffd38dac09d9e73c4a5a02d99699546ed41e5 has fixed the typechecker to handle
exit() properly.

Reviewed By: @ptarjan

Differential Revision: D1590510
Make parser aware of by-ref variadics [#3888]

Summary: Parser will now recognize by-reference variadics and won't throw a syntax error.
Closes https://github.com/facebook/hhvm/pull/3895

Reviewed By: @elgenie

Differential Revision: D1589731
Remove definition of pipe operator

Summary: OCaml 4.00 defines the pipe operator, and the compiler is able to
optimize it so as to avoid creating a closure:

http://www.ocamlpro.com/blog/2012/08/20/ocamlpro-and-4.00.0.html

So we should remove our own implementation, and hopefully get some small speed
benefit in the process.

Reviewed By: @pathsny

Differential Revision: D1590919
Make status flags explicit in VASM.

Summary: Add a "status flags" class of virtual registers, and explicitly encode
uses/defs for all VASM instructions which affect status flags.  This
provides a mechanism for making dependencies between instructions that
set status flags and those which consume them.  The immediate
application is for translation from VASM to LLVM IR, but this also
enables various optimizations (code motion, strength reduction, etc.).

Remove the unused rorqi from VASM rather than converting it to
incorporate a status flags register.

Reviewed By: @edwinsmith

Differential Revision: D1578876