try less RAM
a bit more?
Update .travis.yml

test/slow/locale/176.php depends on this locale being present
Update .travis.yml

Now with the smaller cache sizes, can we support 4 threads?
make caches exact multiples of 2 megs

This is the page size and will cause weird segfaults if they aren't multiples.
Revert cache size changes

This will need some love first
Always require the register_libevent_server() function

Update CMakeLists.txt to force the linker to always pull in the
register_libevent_server(), even if none of the source files reference
it.  This is needed to register the "libevent" server type on startup.
Update Folly
Fix spew from hphp when it tries to constant-fold php-builtins

trigger_error bypasses the usual error handling, so
explicitly test for throwAllErrors.
add individual CLA

The other one was for corporations. We should be using this one most often.
compile with -Wunused-but-set-variable

Our open-source build compiles with these warnings, so they cause spew when building from github. And I think they are good to catch programmer error.
flakey tests

Stop using the same filename!
Do not persist the EnableDebuggerColor config option into the hphpd.hdf file

The ~/hphpd.hdf file provides the ability to customize (or turn off) colorization in hphpd as a user preference. The EnableDebuggerColor option turns of colorization for a single run only and should not persist into hphpd.hdf.
Verifier: treat Throw and Unwind as terminating a block

isCF() was returning false for instructions without jump
targets.
Basic stepping in generators

Add reasonable behavior for stepping within continuations (generators). Stepping over a yield now does what one would expect. When the generator is driven from a C++ extension like ASIO, the next logical execution point is after the yield statement, and that's where we'll stop now. When driven from PHP, say in a loop calling send(), the next execution point is in fact the call site of send(), so we go there. Stepping off the end of the generator function, goes to the caller of send(), or the caller of the C++ extension. Stepping _out_ of a generator driven by a C++ extension ensures that we go to the caller and not back into the generator again. The logic for both cases is exactly the same. The difference comes from the fact that we don't actually debug C++ extensions.

This also fixes a long-standing problem where breakpoints would interfere with control flow cmds on the same source line. This caused funny behavior, like taking multiple steps to get off of a breakpoint.
fix namespace assert

this need to check the short form not the original.
sosorry
Fix an issue with fb_intercept

After my rewrite to use the FunctionnEnter hook to implement
intercept, there was a potential problem.

If an intercept handler was intercepted, and we hadn't yet jitted
the prolog for the intercept handler, and we lost the race to jit it,
and the intercept handler threw an exception, the unwinder could skip
some c++ frames, and fail to unwind a re-entry.

This was caused by attempting to emulate the previous intercept
behavior, where the original function is not included in the backtrace.
I don't think thats necessary; for one thing, the intercept handler
has always appeared in the backtrace, even though its (generally) not the
replacement function, but a function that forwards to the replacement
function. So this diff just leaves the original function's fraem in place.
If the backtraces *do* turn out to be problematic, I'll fix it later in
debugBacktrace.
LdClsCns's dest is Uncounted

So annotate that when generating the IR instruction and clean-up isRefCounted.
GenVectorWaitHandle

add GenVectorWaitHandle, a WaitHandle suitable for use with the Vector collection.
Add some unique_ptr-related support to smart:: containers

- smart::make_unique, returns a unique pointer to smart allocated
    data.

  - Support forwarding in our allocator's construct, so
    smart::vector<foo::unique_ptr<>> works.

  - Move smart containers to their own header.