Make ini_get('allow_url_fopen') return true

Needed for Assetic

Reviewed By: @ptarjan

Differential Revision: D1060610
update CodeIgniter Hash

They fixed the preg yelling upstream

Reviewed By: @JoelMarcey

Differential Revision: D1061177
fix ReflectionProperty for dynamic classes

I fixed ReflectionClass before, this should use it

Reviewed By: @dariorussi

Differential Revision: D1061173
Fixing FastCGI support for KEEP_CONN

Fixing support for KEEP_CONN = false. The connection is now
closed *after* the currently server request is responded to.

Reviewed By: @scannell

Differential Revision: D1057616
Fill out user-land stream wrapper

This was a little broken. It is still a bit different from zend, but at least VFS works.

Reviewed By: @sgolemon

Differential Revision: D1053993
Fix clang errors

Fixing some clang errors that look like real bugs.

Reviewed By: @edwinsmith

Differential Revision: D1061452
Use huge pages for the hot part of the runtime

MADV_HUGEPAGE only works on anonymous, privately mapped
memory. So re-map the hot part of the binary, and mark it huge.

Reviewed By: @edwinsmith

Differential Revision: D1061057
Have Reflection track the use variables of a closure

Need their name and value for ReflectionFunction::getStaticVariables

Reviewed By: @ptarjan

Differential Revision: D1060435
Disable flaky Zend test

Reviewed By: @dariorussi

Differential Revision: D1061932
Prime method cache across requests by smashing an immediate in the TC

Reviewed By: @bertmaher

Differential Revision: D1060868
Replace a few instanceof(c_WaitHandle::classof()) checks with object attr

Now that we have it, might as well use it.

Reviewed By: @jano

Differential Revision: D1061030
Abstract the functionality in c_Set into a base class.

As a first step in implementing FrozenSet, move *all* the functionality in
c_Set to an abstract BaseSet class. c_Set and c_FrozenSet can then both
inherit from BaseSet, except that they expose different PHP "interfaces"
(i.e. FrozenSet doesn't have any of the mutable methods).

Reviewed By: @paroski

Differential Revision: D1050796
Fix ZipFile. It was breaking Pear tests. And it wasn't matching Zend either.

Our ZipFile implementation was not matching Zend, particuarly in tell() and seek(). This reared its ugly head with the Pear test suite. So, I tried to fix this, using PlainFile as a model.

Reviewed By: @ptarjan

Differential Revision: D1061351
Fix the way we find test files...

Instead of some sort of brute force, best effort way to get the test files, use the phpunit xml provided by each framework (if there is one).

Record the expect files again with this new information.

(Also, fixed a minor bug where Incomplete tests were not being put in the errors file)

Reviewed By: @alexmalyshev

Differential Revision: D1062413
Provide blowfish implementation for crypt()

Mostly an import of Zend code.

Reviewed By: @ptarjan

Differential Revision: D983797
Kill ATTRIBUTE_COLD

With our new linker script technology, we don't need this anymore.

Reviewed By: @edwinsmith

Differential Revision: D1062500
Make PDOStatement::__construct callable

zend can call it and a laravel unit test does

Reviewed By: @alexmalyshev

Differential Revision: D1062725
Update support for perf events

The support for LLC and dTLB more precise events don't work in perf
anymore, so update them to use the more generic (but less accurate)
events.  While here, I added support for more events in tc-print:
iTLB, L1I, and L1D misses.

Ths diff also fixes a couple of issues in Func to deal with the fact
that a tx64 object is not created in tc-print anymore. These issues
were introduced when we got rid of Translator::Get() and company
recently, and they were seg-faulting tc-print.

Reviewed By: @bertmaher

Differential Revision: D1062649
Fix error_get_last() to be compatible with Zend

Make BaseExecutionContext::recordLastError() virtual since
file/line number information is only accessible in VMExecutionContext.

Closes #1260
Closes #1281

Reviewed By: @alexmalyshev

Differential Revision: D1061728

Pulled By: @scannell
Include kernel instructions in perf counts

This patch standardizes that we always collect user+sys stats,
not just user stats.

Having fewer counter flavors is a prerequisite for one-day
sharing counters in the kernel.

Short-term this patch will change perflab behavior to start to count
kernel instructions.

Other tools such as perf and dynolog already collect user+sys stats.

Reviewed By: @markw65

Differential Revision: D1059681