sometimes the random variance is high

I've seen this test fail a few times since the variance on the random number generator is pretty high. Add some wiggle room.

Reviewed By: @jdelong

Differential Revision: D1091124
Disable specialized type guards when guard relaxation is off

Otherwise we end up specializing way too many things, most for no use.

Reviewed By: @swtaarrs

Differential Revision: D1088082
Add contbuild config to run tests with hottrace regions

That's it.

Reviewed By: @swtaarrs

Differential Revision: D1086968
Simplify instructions before looking them up in the CSE hashtables

I noticed some cases where CSE was missing opportunities because we
were first checking the CSE hashtable, then simplifying the
instruction (when missing in the CSE hashtable), and finally inserting
it into the CSE hashtable.  For instructions that actually got
simplified, this ordering caused redudant instructions to miss in the
CSE hashtable.  This diff fixes the problem by changing the order so
that instructions are first simplified, and then inserted in the
hashtable.

Reviewed By: @edwinsmith

Differential Revision: D1086429
Push KindOfStaticString TV in String opcode

Currently, we're pushing a KindOfString static StringData TV; let's use
KindOfStaticString instead.

Reviewed By: @jano

Differential Revision: D1090934
Fill out NEWS for some old releases a bit

I went throught the tasks for the last few releases and put down some things. Can anyone else notice other big things in your releases? I still have to fill out all the OSS stuff in Mark's but they are all on stickeys at the office.

Reviewed By: @jdelong

Differential Revision: D1091115
import libgd from zend

I tried puling in the real `libgd` but it turns out php-src forked the library pretty hard and didn't contribute back. Instead I'll just pull in their fork.

This is a straight copy and then I fixed all the stupid C -> C++ stuff and wrote the `php_compat.h` to shim.

Reviewed By: @alexmalyshev

Differential Revision: D1083759
ini_get('date.timezone') shouldn't guess

It should only return the timezone that was expclitily set.

Reviewed By: @JoelMarcey

Differential Revision: D1091812
Generate a pid.map file when we unmap parts of the text section

The perf tool won't lookup symbols for parts of the binary
that aren't file mapped, so provide a perf-pid.map file when we
do that.

Reviewed By: @bertmaher

Differential Revision: D1091918
Change the HHBC spec as needed to support the mechanics of try/finally

Reviewed By: @edwinsmith

Differential Revision: D1092390
Rename XMM to SIMD in a bunch of places to remove x86 smell

Trying to limit the term XMM to x86-specific code.  Everywhere
else we'll refer to SIMD registers.

Reviewed By: @ottoni

Differential Revision: D1091895
Massage vixl's register abstractions into shape

The thesis of this diff is to introduce implicit conversions between
vixl::CPURegister and PhysReg, the same way we have for the x64 register
classes.

- I removed the concept of "no register" from vixl. It overlaps with
  "invalid register" and was kind of confusing.

- constexpr all the things

- Add the implicit constructor and conversion operator to PhysReg

I considered making the vixl abstractions mirror the asm-x64
abstractions exactly -- i.e. get rid of the class hierarchy -- but that
would be too disruptive. I think this is all we'll need to do.

I also haven't made implicit conversions between PhysReg and
vixl::FPRegister yet. We still need to sort out the way PhysReg
represents SIMD registers internally (changing the number of GP regs
isn't as simple as changing that constant) but that can be done in a
future diff.

Reviewed By: @edwinsmith

Differential Revision: D1091795
No longer look for GD, it's now bundled.

Instead look for its optional dependencies
* libfreetype
* libjpeg
* libpng
* libvpx
Skip tests when we don't have enough gd support

Also enable imagerotate() in OSS build.
Ignore this test in the OSS build (for now)