typechecker: SPL file-related hhis

Reviewed By: @vener91

Differential Revision: D1670457
typechecker: ZipArchive hhi

Reviewed By: @vener91

Differential Revision: D1670279
typechecker: Imagick hhi

Reviewed By: @jwatzman

Differential Revision: D1715530
Remove disabled knownPrologue optimization for Call opcode

Summary: It's been disabled for a while, so the code is untested,
We need to do some refactoring of BindCall to enable SSATmps
that can span calls, and it will be easier to do without
worrying about this optimization.

Reviewed By: @jasone

Differential Revision: D1718904

Signature: t1:1718904:1417708381:d8c319e38c6a7830e93fb5975d8de920a30fd8b0
Split PersistentResourceStore by toplevel key.

Summary: Each client extension had a unique key for the first level map in
the store. Just instantiate separate stores, one per extension, and
drop the first level key.

This also subtly changes the timing of when the store is eventually
destroyed, since it's now done by the C++11 runtime instead of
ThreadLocalNoCache.destroy().

Reviewed By: @jdelong

Differential Revision: D1717496
Make illegal characters in cookie name/path/value into fatal errors.

Summary: Make illegal characters in cookie name/path/value into fatal errors.

Reviewed By: @afrind

Differential Revision: D1715793
Implement SplFileObject::SKIP_EMPTY

Summary: Also fix a bug, where READ_AHEAD would cause an endless loop when iterating over an SplFileObject,
caused by rtrim() on false.

Fixes #4285

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

Reviewed By: @​svcscm

internal_phabricator

{sync, @​type="child", @​parent="github", @​parentrepo="facebook/hhvm", @​parentprnum="4287", @​parentprfbid="405144262970675"}

Differential Revision: D1691778

Pulled By: @fredemmott
Use MemoryManager to allocate Semaphore resources

Summary: Instead of ~Semaphore calling sweep, move the cleanup code
to ~Semaphore and let the default sweep function invoke it.
(in this case, it's safe to do that).

Reviewed By: @jdelong

Differential Revision: D1719986
Link to "getting started" in readme.md

Summary: New birds-eye overview wiki page we're going to start pointing
people to.

Reviewed By: @JoelMarcey

Differential Revision: D1719984

Signature: t1:1719984:1417729554:8b8194256da18fcaf33bb65238b1a5344ed0e07b
Don't print error if the server options script does not output anything

Reviewed By: @elgenie

Differential Revision: D1721556

Signature: t1:1721556:1417768704:b88c09dd01d06f594b84b4c8c9e7c3a333fef6de
Use the native implementation for Memcached::decrement

Summary: Calling Memcached::decrementByKey with an empty string causes all
decrement operations to hash to a single node in the server list. I suspect
the intention was to pass along a NULL, but calling the native implementation
like ::increment seems cleaner either way.
Closes https://github.com/facebook/hhvm/pull/4307

Reviewed By: @fredemmott

Differential Revision: D1709908

Signature: t1:1709908:1417809973:2c362a52f644b48cf5f141fea8317b1c3f63792c
Add Memcache session handler

Summary: Fixes https://github.com/facebook/hhvm/issues/3781
Fixes https://github.com/facebook/hhvm/issues/4008
Closes https://github.com/facebook/hhvm/pull/4011

Reviewed By: @fredemmott

Differential Revision: D1626210

Signature: t1:1626210:1417816002:746d11901c87dbb326d851f66952fd372a228f84
Convert datetime to HNI

Summary: fixes #3863

Reviewed By: @JoelMarcey

Differential Revision: D1638773

Signature: t1:1638773:1417566513:96549af96db9215b7e53c1ffe13ea080641503b5
Convert math to HNI

Summary: fixes #1684

Convert ext/standard/math to HNI

Reviewed By: @ptarjan, @JoelMarcey

Differential Revision: D1646888

Signature: t1:1646888:1414613111:207e8c5ce9c600857a98461a4848aec6bf739647

Pulled By: @nigelchanyk
Add ICU DateTimePatternGenerator API to HPHP

Summary: Added a PHP API for the C++ icu::DateTimePatternGenerator. I tried to follow the conventions of the other ICU PHP classes. When there is an error, we throw an exception. The error message/code can be accessed through getErrorMessage/getErrorCode. Like many other Intl classes, the way to create a DatePatternGenerator is through a static method, createInstance or createEmptyInstance.

Reviewed By: @bgertzfield

Differential Revision: D1691412
Support run extension's test case with hphp/test/run

Summary: Currently built-in extension's unit test are located in hhvm codebase, but the opensourced
extension mostly use phpunit, but I
think use `hphp/test/run` to test makes it more consistent, it can be the standard way
to do unit test of HHVM extension.

Now hhvm-dev package should contain hphp/test/run,
after running `hphpize`,  `run` will copied to extension dir and renamed to `run-test`.

User can run `make test` to run tests under folder `test`, currently
it can only be in `test` folder
Closes https://github.com/facebook/hhvm/pull/4358

Reviewed By: @​svcscm

Differential Revision: D1709443

Pulled By: @fredemmott
Always recheck build products when loading from a saved state.

Reviewed By: @jwatzman

Differential Revision: D1717684

Signature: t1:1717684:1417823924:bd3b27ecec90c3c5e2b41d6a26899c81234f02a7
Rename APCString::m_data to m_str

Reviewed By: @jdelong

Differential Revision: D1723217

Signature: t1:1723217:1417822667:2d94c0a06a7579be70aa8a1f5f0aeb7821bbdd64
CRC32 hash function for strings

Summary: Use SSE4.2 CRC32 instruction in hash function. Need to define USE_SSECRC.

Reviewed By: @edwinsmith

Differential Revision: D1705782