Build vixl as a separate module
Give a compile time error if the value and/or key of a foreach statement is a function call.

Function calls do not have left hand values, so such statements are not legal and absent the compile time error, the code generator generates bad code resulting in an assert.

Reviewed By: @markw65

Differential Revision: D991883
ASAN: Fix alloc/dealloc mismatch in hotprofiler

Fix mismatched new[] with delete in hotprofiler

Reviewed By: @mikemag

Differential Revision: D993550
Get "hello world" running via interp-one in simulated ARM mode

It's for real this time. Sorry for the mega-diff, but this is all the
groundwork for simulated-ARM mode. This is the minimal amount of work I
had to do to get anything at all running.

I anticipate some requested changes on this diff, which I might
implement as updates, or as separate diffs that I then rebase this one
onto. But I would like to commit this diff once it's cleaned up.

Almost none of our tests pass in ARM mode yet, but I'd like to at least
get this out for review. I would like to commit without all the tests
passing -- I see that as a better alternative to going from zero to all
in a single diff, which would require an unmanageably large diff.

Next, I'll be working on getting all the tests to pass (by
implementing/fixing parts of the runtime infrastructure, not by
implementing real translation). Once they're all passing, we can set up
contbuilds, and then anyone who wants to can pitch in, implementing real
translation for more and more IR opcodes.

Reviewed By: @edwinsmith

Differential Revision: D979505
Remove a policy array string

Reviewed By: @edwinsmith

Differential Revision: D993523
Make zero-arg hhbc macros for FOOMANY consistent wrt parenthesis

Some of them used them and some didn't.  Since NOV and NA
don't use them I went with no parens for anything taking zero args.

Reviewed By: bertrand

Differential Revision: D993735
Implement SPL RecursiveRegexIterator

Implement SPL RecursiveRegex Iterator

Closes #1121

Reviewed By: @ptarjan

Differential Revision: D993915

Pulled By: @scannell
Call iter->free directly from TC instead of through a helper

These guys were basically a fancy way of saying "jmp".

Reviewed By: @jdelong

Differential Revision: D993302
Fix intermittently failing file tests

File tests run in parallel should use independent paths to avoid creation/teardown interfering with each other

Reviewed By: @ptarjan

Differential Revision: D994417
Add counters for http response code in hhvm

Adds counters in the form of

http_response_200.rate.60
http_response_404.rate.60
http_response_500.rate.60

Reviewed By: bertrand

Differential Revision: D992473
add counter to hhvm that tracks how often pagelet queue overflows

add counter to hhvm that tracks how often pagelet queue overflows.

Reviewed By: bertrand

Differential Revision: D992624
recursive mkdir tests need to be threadsafe

Use different directory names for recursive mkdir tests so they
can be run safely in parallel.

Reviewed By: @ptarjan

Differential Revision: D995116
Remove unused m_src from TranslArgs

It was set in a couple of places, but never read.

Reviewed By: @edwinsmith

Differential Revision: D995172
Remove unused m_deps from SrcDB

Which gets rid of the last direct use of GrowableVector,
So move it inside GrowableVectorWrapper, and rename GrowableVectorWrapper
as GrowableVector.

Reviewed By: @edwinsmith

Differential Revision: D995169
Disable a bunch of flaky tests

These all failed one or more times on contbuild in the past day.

Reviewed By: @scannell

Differential Revision: D995196
Temporarily disable some oauth tests that use arrays

Reviewed By: @ptarjan

Differential Revision: D993555
Always-flat arrays for kMixedKind and kPackedKind

Reviewed By: @edwinsmith

Differential Revision: D988759
Kill TraceBuilder::m_refCountedMemValue

We don't completely trust it and it wasn't providing a measurable perf
win.

Reviewed By: @bertmaher

Differential Revision: D992711
Make OSS Test Script a real test runner - at least human runnable

A bit of a redesign and better user-experience.

This script runs one or more open source (oss) framework unit tests via PHPUnit. Run one or multiple tests by explicitly naming them at thecommand line, or specify --all to run all available tests. You will see various forms of output. The first time running a test suite for a framework, gray dots will appear to set the baseline for future runs. On subsequent runs, you will see green dots for tests that have the same status as the previous run. If something changes, you will see a red F if a test went from pass to something else. You will see a green F if a test went from something else to pass. You will see a blue F if a test stayed in the failing range, but went from something like E to I or F to S.

The summary for a test show the overall pass percentage of the unit test suite, irrespective of previous runs. The output and diff files for a test suite will show what tests pass or fail, and have why they failed.

Example output: P2777440

Future: Add number of total tests to be run at beginning in a clean way; fbmakify the runner

Reviewed By: @ptarjan

Differential Revision: D991614
fix VIXL compilation on non-Linux

s/isnan/std::isnan/g

Reviewed By: @sgolemon

Differential Revision: D996133