Make exception tests less picky about how many frames it takes to cause a stack overlow

These exception tests use stack overflow, but they were brittle. 5 and 6 were checking the line the overflow occurs on, and I think that was unnecessary. The point of those two is that something doesn't happen on overflow, not the line the overflow occurs on. 3 and 4 want to see that objects left on the stack are destructed. For those I switched to using some counts, and check them in a shutdown function.

With this change all tests in test/quick pass with ASAN on.

Reviewed By: @scannell

Differential Revision: D987024
Do not emit a source context for the full function body when emitting an implicit function return.

When the compiler inserts an implicit function return statement, there is no source context for the return and the source context defaults to the context of the entire function. This causes execution to stop at implicit returns and the debugger to display a bizarre source context. It also causes every single line in a file to be considered a valid breakpoint location, even blank lines and lines with comments. The code for inserting implicit returns now overrides the source context with a dummy and the code for creating the source line map now ignores dummies.

Reviewed By: @mikemag

Differential Revision: D987159
Temporarily disable ext_zend tests that rely on arrays

Reviewed By: @ptarjan

Differential Revision: D988751
Substr_compare warning parity with Zend

Zend Compatibility: substr_compare should raise warnings when
offset and length parameters are invalid.

Reviewed By: @alexmalyshev

Differential Revision: D989609

Pulled By: @scannell
prctl is Linux-only

prctl should only be included when using NUMA

Reviewed By: @sgolemon

Differential Revision: D990526
Make moveToAlign's interface platform-agnostic

I think we can start sharing little things like this across platforms.
This makes it so that ARM code can call the same function as the x64
code, and we don't need to duplicate anything.

I also cleaned up emitNAryStub while I was at it, since it's only used
with Arity = 1. And the "unreachable" argument was never used.

Reviewed By: @jdelong

Differential Revision: D990058
Update SSATmp's of locals when we do a CheckLoc

We weren't propagating type information from a CheckLoc in
the region translator, because we weren't updating m_locals to have a
new SSATmp with the proper type.

Reviewed By: @ottoni

Differential Revision: D989639