blacklist more licence files

Reviewed By: @fredemmott

Differential Revision: D1266937
Smoke test for control flow with branchovers

It's frustratingly difficult to actually create control flow
translations from PHP.  Note that I tweaked the translation threshold
for this one.

Reviewed By: @alexmalyshev

Differential Revision: D1268044
Tidy up mc-generator.h

I was going to attempt to rationalize the interface between
MCGenerator and Translator, but I got as far as cleaning up the header
organization here and decided not to sink any more time into it.  I
think this looks nice, anyways.

Reviewed By: @edwinsmith

Differential Revision: D1265684
do file existance checks instead of weird config

Reviewed By: @fredemmott

Differential Revision: D1266922
Bump tested guzzle3 version

Needs a PR.

Reviewed By: @ptarjan

Differential Revision: D1268403
Fixed a typo in Redis __call function

It seems like there is a typo in the Redis class. The code is reading the value from $func['defualts'] instead of $func['defaults'].
Closes #2364

Reviewed By: @ptarjan

Differential Revision: D1265915

Pulled By: @alexmalyshev
Merge AsyncESuspend+RetC and ContSuspend into AsyncSuspend

Converge eagerly executed and resumed parts of async functions further
and merge AsyncESuspend/ContSuspend opcodes into AsyncSuspend, which is
now responsible for suspending execution and returning control to the
caller (creating AsyncFunctionWaitHandle if executed eagerly).

The CreateCont opcode was modified correspondingly and RetC is no longer
needed.

Reviewed By: @jdelong

Differential Revision: D1263945
Merge AsyncWrapResult+RetC and ContRetC into RetC

Make the behavior of RetC opcode context specific:

- standard return in normal function
- wrap into StaticResultWaitHandle in eagerly executed async function
- write result into the Continuation object in resumed async function
  and generator

The eager and resumed parts of the async function bodies are now exactly
same and ready for deduplication.

Reviewed By: @jdelong

Differential Revision: D1266320
Use full-width LowPtr wrapper even without USE_LOWPTR

Doing so should help us avoid some obvious (pre-testing) bugs that might
come up because of build flag differences.  There is no perf impact.

Also updates the gdb pretty-printer to recognize LowPtr.

Reviewed By: @jdelong

Differential Revision: D1262858
News for House of PHPain

Thats it

Reviewed By: @jdelong

Differential Revision: D1266233
Fix lastBcOff in ProfTransData when profiling translation ends at an inlined call

It was recording an offset inside the callee in this case, where it
should record the offset of the FCall*.

Reviewed By: @markw65

Differential Revision: D1267384
Fix strpbrk where char list includes null

C doesn't support null, PHP does

refs facebook/hhvm#2381
refs guzzle/guzzle#538

Reviewed By: @ptarjan

Differential Revision: D1267794
Convert ext/standard/network to HNI

Closes #2340

Reviewed By: @ptarjan

Differential Revision: D1267808

Pulled By: @alexmalyshev
Fix #1728 so that inherited methods invoked via ReflectionMethod are

called with the correct class
Closes #2379

Reviewed By: @scannell

Differential Revision: D1268526

Pulled By: @alexmalyshev
ArrayIterator seek cleanup

This pull request replaces #2210. It brings `ArrayIterator::seek` closer in line with PHP5.
Closes #2375

Reviewed By: @ptarjan

Differential Revision: D1268076

Pulled By: @alexmalyshev
support enable xhp in ini

I rejiggered the test dir to have an xhp subdir and deleted some random opts file that was needed once

Closes #2278

Reviewed By: @fredemmott

Differential Revision: D1261774
Support PHP-decl mode

Support reading a `<?php` file as decl mode. This might seem
weird, but hear me out.

We need a good story around how 3rd party libraries, who may love Hack
and want to be maximally Hack compatible, can still remain compatible
with upstream PHP-5. The best we have right now is hhi, but those can
easily get out of sync with reality. We might also be able to build a
Hack => PHP type erasure tool, but then we create a new subset of the
language -- whatever PHP-5 supports, minus types. (Unless we built a
much more complicated tool that dealt with collections, short lambdas,
etc, which is a can of worms I really don't want to open.)

This solves the compatibility problem. If your code is largely
Hack-clean, you can at least let the typechecker suck in your class and
function definitions for any users of your library. But we do this
without creating a new subset of Hack or even really without defining a
new Hack mode -- this is just standard `decl` mode, but it happens to be
in a PHP file. We can even suck in PHP-5-compatible type information, if
you have any. (Creating a new subset of the language is an argument
against `<?php // partial`, which is technically easy to implement but
probably not directionally where we want to take the language.)

Basically, this means we can morally pull an HHI-like interface directly
out of your PHP source, if you are Hack-aware and add the annotation for
us.

Massive props to GitHub users pvh and naderman for coming up with this
idea during Hack dev day.

Reviewed By: @gabelevi

Differential Revision: D1268908
Remove dead function forEachTrace

Reviewed By: @ottoni

Differential Revision: D1268856
Punt to interpreter if region translation fails in tracelet/legacy mode

This will give a better picture of what perf will be like without any
Tracelets at all. It's somewhat analogous to the old option we had to disable
tx64 while getting the IR up to speed.

Reviewed By: @ottoni

Differential Revision: D1264297
Delete a .expect-trimmed file, add .gitignore rule

These are temporary files created (and usually deleted) by the test
runner.

Reviewed By: @ptarjan

Differential Revision: D1269536