64-bit wordsame()

Summary: StringData's payload is 8-byte aligned, do string comparisons
with 8-byte stride instead of 4.

Reviewed By: @jdelong

Differential Revision: D1654186

Signature: t1:1654186:1414860746:0fe51c92e1143c662995dd660c179d60914f5160
Refactor NativeData header

Summary: Move the NativeNode to the beginning of the allocated block,
and add kind and offset fields so we can locate the attached
object data during sweeping. Reduced the sweep node from
16 bytes to 12; If a NativeData custom struct is 4 bytes or less,
it will also pack in after the header.

Changed the NativeData sweep list to a vector; each object only
needs a 32-bit index into the vector. Insert and delete remain O(1).

Reviewed By: @jdelong

Differential Revision: D1652391
Add a logToAccessLog() virtual to RequestHandler

Reviewed By: @markw65

Differential Revision: D1653311

Signature: t1:1653311:1414801532:207d3184f139fc35adf03bb69716baf5c33ee377
Mechanism for enabling request-local heap profiling

Summary: Adds an admin server command to trigger request-local profiling on the
next request.  This turns off the slab allocator and triggers a
thread-local jemalloc heap profile dump at request shutdown.

Reviewed By: @jasone

Differential Revision: D1491984
remove stablemap from hhvm tests

Summary: This diff deletes usages of stablemap from tests where we
also do the same thing with a map, if not, it replaces stablemap with map.
Also deleted a test only for stablemap

Reviewed By: @paroski

Differential Revision: D1653680

Signature: t1:1653680:1414799769:9748e9254ea2cdae0e0f5eecdd337e89b65bee1a
Turn off MemeLim store sinking for now (it isn't right)

Summary: This is currently willing to move stores to places where the value
that would've been in the memory location is different.  We need to limit store
motion to blocks dominated by the old store, not just dominated by the value
that was stored, or do a more general version of this.

Reviewed By: @markw65

Differential Revision: D1654195
Fribidi extension for HHVM

Summary: Kind of a noob to this stuff but this is a straight port of pecl-fribidi.  I have some concerns over how the strings are being managed...  for a PHP extension you can specify whether or not the string being returned should be copied.  Not sure how to do that for HHVM.

Reviewed By: @ptarjan, @behnam

Differential Revision: D1632647
Optimization for non-typehinted functions

Summary: For functions with args and nullable return or no typehint, we need to do a slightly slower check of the cache to guarantee we're correct. However, async functions never return null since they always return awaitable. This lets us use the faster check for memoized async functions with args and no return type hint. There aren't very many of those in prod right now but there are a bunch in the codemod.

Reviewed By: @jano

Differential Revision: D1652958

Signature: t1:1652958:1414790937:58ac19de0cc39ee0887b9d54de0bad167a45a924
Remove findSuccOffsets from translateRegion.

Summary: It's dead.

Reviewed By: @jdelong

Differential Revision: D1653846

Signature: t1:1653846:1414803027:bf2fba4cd13b3ba8ca99b2547e6573d6d0a628de
Trailing spaces and comment fixups.

Reviewed By: @elgenie

Differential Revision: D1654554

Signature: t1:1654554:1415004436:f0364eb5296cbadc823ce9b34e56ef5740ed1d95
Convert array_multisort to HNI

Summary: fixes #3993

Also removed all MixedVariableArugument flags because it's no longer used

Reviewed By: @sgolemon, @JoelMarcey

Differential Revision: D1621857

Signature: t1:1621857:1414521500:d1f977cecba55458b5e7c92f6c79a303a52f0f4c
Convert POSIX to HNI

Summary: fixes #3933

Reviewed By: @markw65

Differential Revision: D1604628

Signature: t1:1604628:1414799212:5aefd092bdc9a672b65f681b9597a7ef7b6c214b
Convert DOMDocument to HNI

Summary: fixes #3745

Reviewed By: @ptarjan, @JoelMarcey

Differential Revision: D1638235

Signature: t1:1638235:1414612822:fd550de38c1167d73edc2c0e7cfbb9cb6cbc058c
Remove the memelim store sinking code for now

Summary: It is broken, and the wrong way to do this.

Reviewed By: @alexmalyshev

Differential Revision: D1654600
Convert file to HNI

Summary: fixes #3911

Reviewed By: @markw65

Differential Revision: D1598886

Signature: t1:1598886:1414799275:43aa503a9711056138e6f570639a108281fbcbca
Fix infinite loop in hh --color.

Summary: My previous algorithm assumed an invariant that did not actually
hold. I've made that invariant hold, in addition to describing it explicitly
in a comment.

Reviewed By: @jwatzman

Differential Revision: D1654746
Fix hphpd crash when printing systemlib classes

Summary: fixes facebook/hhvm#4075

Reviewed By: @paulbiss

Differential Revision: D1642223
Convert smart_new to use smart_malloc()

Summary: We need headers on every object to make the heap parseable.

Reviewed By: @jdelong

Differential Revision: D1654899
Add ** operator to the hack typechecker

Summary: Add the exponential operator to the hack type checker

Reviewed By: @elgenie

Differential Revision: D1647793
Move freeInline decision from translateRegion to hhbc-translator

Summary: One less NormalizedInstruction use.

Reviewed By: @alexmalyshev

Differential Revision: D1651076

Signature: t1:1651076:1414994554:e4ef2e98dbaa4bbcfa05f859394815b37d0b47d4