Implement StringData::initAttach in terms of initCopy

This seems reasonable.

Differential Revision: D938745
Remove try/catch in conv{Obj,Res}ToStrHelper

We have a catch trace that does a SpillStack for both of
these helpers.  Incidentally, zend raises a fatal if you try to throw
in this situation.

Differential Revision: D944079
Fix region_tracelet test

The tracelet region selector was relaxing a guard that the normal
translator wasn't, exposing a bug in the register allocator: when a load
instruction has a label we care about its type, so we can't assign it to an xmm
register. We really shouldn't be guarding on this load at all, but that can be
fixed in a separate diff.

Differential Revision: D944937
Temporarily remove Iterable's function declarations

D923036 added these but we're not quite ready. Take them out for now.

Differential Revision: D944660
make simplexml xpath return original objects

Currently, xpath just creates new elements. This means that any
modification done to the return object will not change its original
parent.

xpath can also traverse -up- the hierarchical node tree, so we cannot
just recursively go through children to find a matching node. this is
why an additional m_root was introduced, to keep track of the root node
of the current tree.

Closes #986

Differential Revision: D943404
adjust ArrayIterator internals for zend parity

HHVM's current implementation promotes internal state to possible
subclasses.

This is meant as preparation to support RegexIterator in a separate
commit, because the Zend tests rely heavily on the internal var-dump
representation of ArrayIterator.

Closes #989

Differential Revision: D943461
g++-4.8.1

Switch to g++-4.8.1

Differential Revision: D935591
fix namespace bugs in ext_class/ext_reflection

- ext_* functions that call Unit::lookupClass were not correctly
handling denormalized names (ex. \FooNS\Bar), this adds a wrapper for
this pattern and calling it.
- ReflectionClass::subclassOf should be using f_is_subclass_of

Closes #827

Differential Revision: D945363
Fix bugs when multiple threads hit the same breakpoint

The function blockUntilOwn() was not actually blocking threads before letting them into processInterrupt(), which allowed multiple threads hitting breakpoints to process their interrupts and communicate with the client, which is bad.

Also fixed an issue where interrupts processed during an eval would result in erasing the current thread's 'lock' on processing interrupts, resulting in the same issue.

Differential Revision: D945203
Don't leave out AttrPhpLeafFn on account of FCallArray

FCallArray does a stack overflow check as part of its
"mini-prologue", so we can still consider functions that use it leaf
functions.

Differential Revision: D940120
Move fCallArrayHelper to an asm helper stub

fCallArrayhelper smashes its return address, leading to
return branch mispredictions until we return enough times to get back
on track.  Rewrite it as an asm stub so it can make a tail jump and
pop the proper return ip into the ActRec.

Differential Revision: D941930
Disable fread_socket_variation1.php

I've seen it fail on a few completely unrelated diffs

Differential Revision: D945745
Fix clone of SplPriorityQueue

Clone the underlying _SplPriorityQueueHeap object when someone clones a SplPriorityQueue object

Closes #984

Differential Revision: D942743
Fix a crash in Unit::compactMergeInfo

If redoHoistable is set, at least one defClass failed,
so we can't compact the unit.

This should prevent crashes - but something must have gone wrong
to get into this state. An AttrUnique class should never fail
to be defined.

Differential Revision: D946531
Revert "g++-4.8.1"

This reverts commit 7d94e20daede9ab6fa1d3bdc6f0a03477a631efc.

Some tests are breaking in the opt build.

Differential Revision: D946629
increase slowtimer threshold

I sometimes see failing test runs because curl is slow on a box.

Lets make it the same timeout as the script itself.

Differential Revision: D945165
update dev build of composer

update composer which has timed out (failing unit tests)

Differential Revision: D947366
Disable flaky zend test, trim down test with external dependencies

Differential Revision: D946456
$_ not cleared but still printed after exception

The code to print out the result of the expression following the = command has moved from inside the resulting eval block, to outside it in the debugger code itself. Hence, if the eval block fails, the value of $_ now prints out and this is confusion because it is the value that a previous = command put in there. With this change the eval block first unsets $_, so that the subsequent print value code will do nothing in the case of a failure.

Differential Revision: D944120
Align global slabs to 16 bytes

Believed to fix a crash in prod caused by using movdqa to
access globals aligned to 8 bytes instead of 16.

Differential Revision: D947649