Add `PATHINFO` constants to hhi file

Summary: Reported in IRC.

Reviewed By: andreeacrish

Differential Revision: D1382941
Move reusable stuff from c_Generator to BaseGenerator

Summary: Move stuff that c_AsyncGenerator can use to the BaseGenerator class.

Reviewed By: @billf

Differential Revision: D1379008
Only emit ExceptionBarriers before merge points

Summary: In control-flow mode we were conservatively placing a
SpillStack+ExceptionBarrier before every jump, since jumping to a
merge point with an un-sync'ed stack is an error.  With this diff
we'll figure out which jumps lead to merge points, and only emit
barriers there.

Reviewed By: @swtaarrs

Differential Revision: D1380607
Separate FuncEmitter from Func

Summary: Put it in a different file.  Also do a bunch of other stuff:
  - Reorganize func.cpp so that it has organization.
  - s/preclass-emit\./preclass-emitter\./g
  - Move Attr to its own header, and add better documentation.
  - Move UserAttributesMap to its own header.

Tune in next time when I delete all the methods of FuncEmitter.

Reviewed By: @jdelong

Differential Revision: D1383535
Improve tracing in global DCE, and add some more comments in analyze_dce

Summary: It was confusing to both me and Owen that allLive gets every
bit set during the analyze pass, but this is actually correct (we
don't know whether anything is live or not yet---so the visitor needs
to conservatively assume it could be live).  We compute the gen and
kill sets during this pass, but liveOut is initialized to the empty
set for each block in the next part when do the fixed point iteration.

Reviewed By: @alexmalyshev

Differential Revision: D1370893
Use LA arg types for a few instructions taking locals instead of IVA

Summary: This will make it a php::Local pointer in hhbbc, which is
easier to manipulate than a raw id.  (E.g. otherwise if you want to
remove some locals, you'd have to go find all the references to locals
by id and update them.)

Reviewed By: @bertmaher

Differential Revision: D1370940
Remove unused locals in global dce

Summary: We have a lot of unused locals.  Even before hhbbc runs,
hphpc may have removed uses of some locals, but emitter.cpp still adds
metadata for them.  Since we have to store KindOfUninit to these it
seems worth removing them.

Reviewed By: @bertmaher

Differential Revision: D1370956
Fix a bug for stdclass promotion of static private properties

Summary: Typo'd selfProp as thisProp (I knew this was going to happen
somewhere ...).

Reviewed By: @bertmaher

Differential Revision: D1378993
Small amount of cleanup in file repository

Summary: I was looking at it while trying to understand what might be
going on #4511857 and deleted some unused things and remove Eval
namespace.

Reviewed By: mwang, alexanderm

Differential Revision: D1382818
Remove dump-file-repo admin command

Summary: Simplifying file-repository.

Reviewed By: alexanderm, mwang

Differential Revision: D1383366
Fix a crash in CGetM on a boxed Vector

Summary: MInstrTranslator assumed that an LdRef would preserve
the inner class for boxed collections, but it actually dropped it.

I fixed it to preserve the class in that case.

Reviewed By: @bertmaher

Differential Revision: D1383439
Allow all ciphers

Summary: Curl changed to deselect weak ciphers by default, but
unfortunately this makes Soap requests fail for websites which still are
using these.  This returns SoapClient's behaviour to match php

Reviewed By: @ptarjan

Differential Revision: D1383037
Add NewArrayMixed opcode

Summary: Use it when we expect mixed type arrays.

Reviewed By: @jdelong

Differential Revision: D1297395
Add NewArrayLikeL opcode for array_filter and array_map

Summary: This lets us make arrays with the same kind (and, optionally, capacity)
as that of another array.

Reviewed By: @jdelong

Differential Revision: D1300349
Fix race in the parser

Summary: While refactoring, I introduced a race.
The file could have been removed between the moment where we got notified and the moment
where we try to read the file.

Reviewed By: @aryx

Differential Revision: D1384077
Optimize ini_get

Summary: Add support to the JIT to recognize calls to ini_get for system settings and
substitute them with the value of the setting.

As part of this diff, I also removed the
system_get_custom_bool_settig API I added since it's no longer needed.

I also fixed an inconsistency between the version of IniSetting::Get
that takes a String& and a std::string& to return the setting value. The
std::string& version was incorrectly formatting double settings (they
included trailing 0's after the decimal point).

Reviewed By: @ptarjan

Differential Revision: D1378334
Remove tabs

Summary: I was looking at this file and it is indented weirdly. Just a `:retab`

Reviewed By: @JoelMarcey

Differential Revision: D1384103
enable cotire for travis

Summary: It looks like it will save us 5 mins per build?

without https://travis-ci.org/ptarjan/hhvm/builds/27290602
vs
with https://travis-ci.org/ptarjan/hhvm/builds/27291303

1544 mins vs 1490 mins

Reviewed By: @JoelMarcey

Differential Revision: D1379089
Sanify refcounting semantics of StaticWaitHandle::CreateFailed()

Summary: Make StaticWaitHandle::CreateFailed produce refcount for the returned
object and consume refcount of the given Exception object.

Update all callers to this new model.

Reviewed By: @jdelong

Differential Revision: D1384164
Sanify refcounting semantics of StaticWaitHandle::CreateSucceeded()

Summary: Make StaticWaitHandle::CreateSucceeded produce refcount for the returned
object and consume refcount for the given cell.

Reviewed By: @jdelong

Differential Revision: D1384169