CMake fix for aarch64

Summary: ll_load is only supported on OS X so don't try to use it on
aarch64.

Reviewed By: @swtaarrs

Test Plan: compiled
Fix simplification bug for Check*s that always fail

The Jmp was not being generated because these functions don't return nullptr.

Reviewed By: @swtaarrs

Differential Revision: D1196421
Use icu::UnicodeString instead of String for UChar* data

Using a char buffer for UChar data is just asking for trouble.

Reviewed By: @ptarjan

Differential Revision: D1186379
Implement ICU Grapheme API

Per Zend implementation.

Reviewed By: @ptarjan

Differential Revision: D1185435
Add some trivial include-what-you-use cases in hphp/

Using flint output.
Facebook:
  ~jdelong/generate_include_plan.sh > plan ;
  ~jdelong/add_include_plan.pl plan

We could probably clean that up and hook it into the arcanist linter
to auto-generate patches based on flint output.  Morally we might need
the inverse rule first though (i.e. remove the includes you don't
use).

Reviewed By: @edwinsmith

Differential Revision: D1196240
Add toImmMap() and immutable() methods to collections

This diff adds toImmMap() to the KeyedIterable interface. toImmMap() is a
materialization method like toMap() and toImmVector().

I also added an immutable() method to each of the concrete collection types
to allow the programmer to get an immutable copy of the collection. Note
that calling immutable() on an immutable collection (such as ImmVector)
will simply return itself.

Reviewed By: @elgenie

Differential Revision: D1188623
Take sweepable String out of Intl error reporting chain

Unsurprisingly, this is bad for the thread-local s_intl_error

Reviewed By: @ptarjan

Differential Revision: D1188675
Add support for constant values to JIT::Type

JIT::Type can now represent constant values, eliminating DefConst and
LdConst's ExtraData and just leaving them with a typeParam. Most of the changes
outside of type.{h,cpp} were fixing code that was using operator== where it
should've used operator<= on types, since now we have subtypes of Int and Bool
and other primitive types flying around. I also reorganized the methods in Type
to group them by category.

Reviewed By: @jdelong

Differential Revision: D1186216
HHVM should never return negative remaining time

Splitting up D1195707
This is the OSS part

Reviewed By: @hiteshk

Differential Revision: D1198202
use SafeFileAccess when exposing open_basedir

Closes #1749
Closes #1752

Reviewed By: @fredemmott

Differential Revision: D1169362
unbreak test

Facebook: I screwed this up as part of D1169362

Reviewed By: @fredemmott

Differential Revision: D1198243
Additional logging and failure handling in test_server

TestProxygenServer failed in takeover on contbuild, so adding logging options to get more info.  Also trap and recover from hung takeover more reliably.  Note logging is currently broken when stderr is redirected (t3800327)

Reviewed By: @ptarjan

Differential Revision: D1190564
Bump HHVM's PHP_VERSION constant to "5.5.99-hiphop"

Reviewed By: @ptarjan

Differential Revision: D1197343
switch ini settings from String to Variant

Some ini settings will be arrays, so this lays the groundwork. I'm going to do this stuff in small pieces so we can see if it matters for perf.

Reviewed By: @jdelong

Differential Revision: D1197784
make ::CLASS not work on $foo

I tried to make the parser do it, but couldn't find a good factoring. I tried:

* Splitting `static_class_name` into `static_class_name_without_var` and then referencing that in `class_constant`. 1 reduce/reduce conflict
* Having `class_constant` only reference `static_class_name_without_var` and putting the `reference_variable` case into `class_constant`, 1 shift/reduce conflict
* Having `static_class_name_without_var` not even reference `static_class_name` and just copy the code. Same problem.

Reviewed By: @elgenie

Differential Revision: D1196607
Rename util.h to file-util.h to reflect its smaller intent.

Removed references to util.h and added back just the
minimal includes of file-util.h.  Also changed the last
few lingering mentions of the Util namespace to FileUtil,
since removing the namespace entirely would require
new :: qualifiers on some of the posix functions that
collide with names in FileUtil, like mkdir() and rename().

Reviewed By: @jdelong

Differential Revision: D1192454
Combine BaseExecutionContext and VMExecutionContext

Also remove the vtable and inheritance from IDebuggable.  (I
always wondered why it did that---turns out there's no reason
anymore.)

Reviewed By: @ptarjan

Differential Revision: D1198258
Move RequestEventHandler to its own header

Making the destructor protected and non-virtual required
changing a bunch of classes to be final to avoid warnings.  Where
possible I also added overrides, normalized indentation, and did
s/class/struct/.

Reviewed By: @ptarjan

Differential Revision: D1198270
collections: don't try to autoload when deserializing

... anything stored with the K (keyed collection) or V
 (unkeyed collection) formats should only have cpp builtin classes to
 deal with. Also, changed the serialization "whitelisting" option to
 apply only to O (object) format, since "whitelisting" collections
 classes for deserialization is equivalent to "whitelisting" arrays.

Reviewed By: @jdelong

Differential Revision: D1191114
Remove unnecessary includes in util/file-util.h

Also make relativePath() take const string& instead of const string.

Reviewed By: @jdelong

Differential Revision: D1198453