Make default_socket_timeout match PHP 5.x

Summary: `default_socket_timeout` in PHP 5.x defaults to 60 (seconds). Make that be the default for HHVM as well.

Reviewed By: @paulbiss

Differential Revision: D1674055

Signature: t1:1674055:1415745395:68da6ac38e41d059338bd5236292cba4ad752957
Replace tabs with spaces in new test file

Summary: Use tabs instead of spaces in `xml_Option_Skip_White.php`.

Reviewed By: @paulbiss

Differential Revision: D1674206

Signature: t1:1674206:1415747466:367a0ce3010332b1078b1c693920e4bd8e9cfe62
SplFixedArray::FromArray() throws InvalidArgumentException not Exception

Summary: Fixed #4211
Closes https://github.com/facebook/hhvm/pull/4213

Reviewed By: @JoelMarcey

Differential Revision: D1673801

Signature: t1:1673801:1415767159:cb5f6929704ac56e0c0568e7108c88d13af0b366
Expose Imagick::getImageMimeType to userland

Summary: Fixes #4047

Closes https://github.com/facebook/hhvm/pull/4173

Reviewed By: @JoelMarcey

Differential Revision: D1666889

Signature: t1:1666889:1415767154:b10cbeeffe6c641cbf38264be3520234b77dcaf4
Show a nice error when an invalid argument is passed to hphp -t

Summary: fixes facebook/hhvm#4205 - previously would trigger an assertion failure for doing an analyze without a format

Reviewed By: @jdelong

Differential Revision: D1673786

Signature: t1:1673786:1415746228:c002f8f24fb44dd9719d1e095a9e6195bac74cca
Update NEWS file for "will.i.am"

Reviewed By: @jano

Differential Revision: D1674080
fix error with capturing locals for a foreach using a ref

Summary: a foreach expression can introduce a new local variable as a reference.
GetLocals during naming was not checking for this.
Fixed this by creating a separate GetLocals for foreach that also allows a ref (a ref is not a
valid lvalue anywhere else).

Reviewed By: @jwatzman

Differential Revision: D1674885

Signature: t1:1674885:1415757288:975a8b74a7c6ecef2f52da891c4e2530116738db
typechecker: split function bodies into named and unnamed

Summary: The naming pass is currently rather odious architecturally.
 While pulling out the set of declarations, we're also calculating
 terminality and identifying special functions. But we're not doing
 any local inference, so all of that effort is happening in the wrong
 place.

 The first step, in this diff, is to introduce an ast node for a
 function body that consist of either a named block (currently
 everything, eventually only lambdas), or an unnamed block (currently
 nothing, eventually everything but lambdas).

Reviewed By: @jwatzman

Differential Revision: D1660732

Signature: t1:1660732:1415214964:d7bdae0e42155a2153a6847b42fc4c5e0fce111d
Have rpoSortCfgWithIds compute RPO ids instead of PO ids.

Summary: I wanted to index into the RPO-sorted block vector using the ids but it
was needlessly verbose ("block[block.size() - poId - 1]"), and all of
our uses of PO ids boiled down to "id1 < id2", which easily translates
to "rpoId1 > rpoId2".

Turns out that the use of the ids in reflowTypes was wrong too, it was
using them to detect back-edges, but it assumed they were RPO ids.

Reviewed By: @swtaarrs

Differential Revision: D1672905

Signature: t1:1672905:1415730536:a98b2f5b8d64e9a1a3a046220f8f68807b0c02e0
Fix lchown when no user found

Summary: Also add appropriate warnings

Increases Symfony from 89.68 to 89.8
Closes https://github.com/facebook/hhvm/pull/4194

Reviewed By: @JoelMarcey

Differential Revision: D1669950

Signature: t1:1669950:1415808530:a050c547474714b230cccd9cfd3d638160743d0f
Try to catch more information about a problem

Summary: The bug isn't this code, but this is where it crashes.  Add an assert
and hopefully we'll get more info.

Reviewed By: @alexmalyshev

Differential Revision: D1674370
Preserve index of sockets passed into/out-of socket_select()

Summary: Active sockets should remain at the offset they were at
on the way into the function call.  HHVM is currently renumbering
them from zero.

Closes #2698

Reviewed By: @JoelMarcey

Differential Revision: D1673788

Signature: t1:1673788:1415741539:0f295abe094e63076726f4101d8c74647f17a38b
Remove trailing junk from IP addresses for sockets

Summary: If IP addresses contain an additional '/' (potentially followed by other
characters) they should all be ignored. For instance prot://1.2.3.4:567/foo
is a connection to 1.2.3.4 on port 567 over protocol prot where /foo is
simply ignored.

Fixes #3154

Reviewed By: @JoelMarcey

Differential Revision: D1671652

Signature: t1:1671652:1415769458:5fd487f565ec5f3c4a801270b9857f8174c89070
Add getTypeText to ReflectionParameter

Summary: It is there and working, but hh complains about it as it is not in the hhi.

Reviewed By: @elgenie

Differential Revision: D1674730
Change the Profiler constructor to not necessarily force CPU affinity.

Summary: CPU affinity is needed to get monotonic real time clock ticks from rdtsc,
but that effectively disables running multiple threads in server mode.

Some profilers may not need the rdtsc data.

All existing profilers in the code base preserve their previous semantics.
Closes https://github.com/facebook/hhvm/pull/4163

Reviewed By: @JoelMarcey

Differential Revision: D1666121

Signature: t1:1666121:1415832657:60deae3e777ee3bddebd0bf97b0c4bbb3b820486
qlzcompress is not available everywhere, and there's no support for it i...

Summary: ...n OSS
Closes https://github.com/facebook/hhvm/pull/4236

Reviewed By: @JoelMarcey

Differential Revision: D1677289

Signature: t1:1677289:1415838727:13f5c39992451100d1131869f931f6c1ccb2128b
Remove magic quotes

Summary: It has beeen removed since PHP5.4
Closes https://github.com/facebook/hhvm/pull/4203

Reviewed By: @JoelMarcey

Differential Revision: D1669988

Signature: t1:1669988:1415843237:56b2bb711980d9d2e356a5e2799be290f975a155
Break regions after FCall & friends when using LLVM

Summary: When using the LLVM backend, we're going to break regions after
bytecodes that use bindcall or something similar. This is intended to be
temporary and for reasons too lengthy to go into here. I also cleaned things up
a little so we actually obey the intent of the EvalJitLLVM runtime option: 1
means Optimize translations only, while >1 means all translations.

Reviewed By: @jasone

Differential Revision: D1671586

Signature: t1:1671586:1415671170:c540b409c2d27aff6d9f00723a3d0e17fceb9e6e
Go back to individual cache props for statics

Summary: This diff is a prereq for experimenting with using individual props for instance methods when there are <N of them. It accomplishes a few things:
- Centralize the prop creation logic to make that experiment easier
- Go back to individaul props for statics. Statics almost certainly didn't contribute to the memory regression, and there tend to be only a couple per class so the extra layer was probably a negative
- Eliminates a local when using shared props in favor of emitting the int directly which should make that scenario slightly more efficient.

Reviewed By: @jano

Differential Revision: D1659983

Signature: t1:1659983:1415835257:6e1f6b6230da8b9637049b0d50087ca321e1f428
Merge remote-tracking branch 'upstream/master'