Rename NameValueTableWrapper to GlobalsArray

Summary: Thats the only thing we use it for.

Reviewed By: @jdelong

Differential Revision: D1691544

Signature: t1:1691544:1416430932:e05908cf00bf3362f9c2b379c66292e130c36467
Truncate the display of the command invocation

Summary: It can become quite a long invocation due to the list of changed files. We
don't want to be clogging up people's screens.

Reviewed By: @elgenie

Differential Revision: D1692248

Signature: t1:1692248:1416448121:15216fbc7b607974c6b9241e3c2630b195045e0a
Support Authorization header in apache_request_headers()

Summary: Authorization is processed separately and not-mangled so special-cased like
CONTENT_LENGTH and CONTENT_TYPE which don't get prefixed with HTTP_

{sync, type="child", parent="internal", parentrevid="1689097", parentrevfbid="749762991738970", parentdiffid="5715023"}

Reviewed By: @JoelMarcey

Differential Revision: D1689097

Signature: t1:1689097:1416515552:4f8a11613ac6beb10cb911f2fcec0e6f2d88b1fb
Add version number to imagick extension

Summary: fixes facebook/hhvm#3969

Went for '3.2.0b2' based on http://pecl.php.net/package-changelog.php?package=imagick:

- we have all those constants (3.2.0b2)
- Imagick implements Countable (3.2.0b1)
- we implement __clone, not clone() (deprecated in 3.1, removed in 3.2)

Reviewed By: @JoelMarcey

Differential Revision: D1694086

Signature: t1:1694086:1416504185:9b07e213bfa49e22dd196970e8ec0474c8a56d39
Docblock parser for AT

Summary: Some obnoxious regex stuff.

Reviewed By: @elgenie

Differential Revision: D1691746

Signature: t1:1691746:1416484124:59952412946da18bd1106bfd479d155b7138ac2b
Have hh_server take the list of files to recheck as relative paths

Reviewed By: @jwatzman, @elgenie

Differential Revision: D1690037

Signature: t1:1690037:1416451135:4dda91e120000c477a8ecdb8170190748c4b3627
Make dependency on lz4 optional for OSS build.

Summary: Flow pulls in Hack, but it shouldn't have to require lz4.

Also copied over@jwatzman's fix for the C option handling in pre-4.00
ocamlbuild (c.f. D1692564)

Reviewed By: @jwatzman

Differential Revision: D1693464

Signature: t1:1693464:1416520127:5508177943e51420cce3606a64e340413f54e06e
Implement some accidentally missing vasm ops in llvm backend

Summary: cmpqi, srem, and bindaddr are all easy to do, I just forgot about them
in D1686955. Also add arm instructions to the big switch statement to get us
closer to removing the default case.

Reviewed By: @jasone

Differential Revision: D1694328

Signature: t1:1694328:1416513227:90da6cb341309d5c533d7864b059e2840b622be4
Don't print anything for gc() in set-save-twice.php

Summary: GC sometimes runs now so just ignore it.

Reviewed By: @alexmalyshev

Differential Revision: D1694501
Decompress off the main thread.

Summary: I didn't use more than one thread because it made no difference
to the timing (i.e. we are IO-bound)

Reviewed By: @elgenie

Differential Revision: D1693167

Signature: t1:1693167:1416455121:b20b7af6e813ab5d0f674c2b9432f764655223d2
Better fix for generate-buildinfo.sh

Summary: I had been assuming that computing a full hash of
all the involved files would be too slow. It turns out
its not too bad unless the cache is cold; but most of the
files are going to be read during the build anyway, so this
just preseeds the cache anyway.

This method has the advantage that it produces the same repo-schema
for git and hg if you have the same rev checkout out (and even with
no source control, as long as there aren't any "stray" files lying
around).

Reviewed By: @jasone

Differential Revision: D1694904
HTMLEncode strings in wddx_serialize_value()

Summary: Strings returned through wddx_serialize_value should be HTMLEncode()'d during
serialization.

Fixes #4283

{sync, type="child", parent="internal", parentrevid="1691695", parentrevfbid="1537976659780590", parentdiffid="5726084"}

Reviewed By: @JoelMarcey

Differential Revision: D1691695

Signature: t1:1691695:1416530595:722bfcdaf7c0dbee379bea886cd4c43d997ca7dd
Allow "array" with type args to be used in XHP attribute declarations

Summary: This updates HHVM's parser to allow "array" with type args to be used in
XHP attribute declarations.

Reviewed By: @elgenie

Differential Revision: D1693455

Signature: t1:1693455:1416470523:0d308ca7567c7c95b9db45f3ae2d1843efad95d0
repo mode defer trait reqs enforcement until class creation

Summary: Followup to {D1690122}. When flattening traits, simply
 include the requirements in the preclass of the resulting using
 class, rather than attempting to do anything intelligent for repo
 mode. Then, when running in RepoAuthoritative mode, remove the
 assumption that only trait/interface preclasses are allowed to have
 requirements.

 If there's no significant perf impact, this probably makes more
 sense, given the possibility of non-unique (aka redeclaring)
 classes/interfaces that end up satisfying a requirement.

Reviewed By: @markw65

Differential Revision: D1693886

Signature: t1:1693886:1416530409:f40241dde10a1c8c077b2978f4d8e0438c777bdb
Log both the state loading time and the rechecking time.

Reviewed By: @jwatzman

Differential Revision: D1696195

Signature: t1:1696195:1416532498:84f831bfd2c95dba3482d820b97b25af44c23151
Print total time taken to recheck.

Summary: Math is hard. Make computers do it.

Reviewed By: @elgenie

Differential Revision: D1696218

Signature: t1:1696218:1416535925:e9e39f5c5d52dd00ebec86cf9b18ba65cf538f50
Allow static invocation of DOMDocument::load* methods

Summary: It should be possible to statically invoke these loaders to create new DOMDocument
objects.

Fixes #1955

{sync, type="child", parent="internal", parentrevid="1686673", parentrevfbid="1506117346322140", parentdiffid="5688837"}

Reviewed By: @JoelMarcey

Differential Revision: D1686673

Signature: t1:1686673:1416546346:27dadb68e89f406350add7994c14635dc590c26c
Pass list of changed files in a temp file.

Summary: There is a limit on how long command line invocations can be,
and a long list of files can easily exceed that limit.

Also remove the string truncation logic as we will no longer be
overflowing the screen with a single command.

Reviewed By: @​svcscm

Differential Revision: D1697045
fix broken scuba logging

Summary: Return back to ClientBuild when we're successful so we log CLIENT_BUILD_FINISH.
This isn't a disaster since we still have basically the same data spread out
in scuba table hh_build_steps, but might as well fix this.

Reviewed By: @paulcavallaro

Differential Revision: D1694667

Signature: t1:1694667:1416516191:54be6b1c677a9316acfcbad123e8672a6ea8b35b
Capture interim work.

Attempt to generate a function return prehook point,
but those attempts fail due to a malformed CFG.

Add back in ext_system_profiler.{cpp,h} as that is faster than using the
debugger hooks.

Get the function return hooks back in again after a botched rebase.