Fix inst_meth example in hhi comment

Summary: `inst_meth` doesn't work on `private` anything due to runtime
restrictions.

Reviewed By: @pikatchu, @elgenie

Differential Revision: D1531767
flakeylist copy_variation6

Summary: It failed on D1479623?id=4938785

Reviewed By: @paulbiss

Differential Revision: D1531609
Fix some crashes in hphpd

Summary: There are plenty of cores showing what is clearly the result of
popping an element from an empty stack, so guard popActiveLineBreak().

getActiveLineBreak() already checks for size() == 0, and is usually followed up
by a call to setActiveLineBreak(), which does not. So fix that too.

Reviewed By: @edwinsmith

Differential Revision: D1533549
Let's not rely on explicit HHVM version numbers in xdebug tests

Summary: We bump the version number quite a bit. Let's not hardcode them in the xdebug tests

Reviewed By: @ptarjan

Differential Revision: D1534339
Clean up printing functions & some const usage in vasm

Summary: Rename some printing functions to be more consistent with the rest of
the jit, make them work with const references, and move function declarations
to vasm-print.h to match the definitions in vasm-print.cpp.

Reviewed By: @edwinsmith

Differential Revision: D1532792
Version bump to 3.4.0-dev

Summary: We are cutting the 3.3.0 release. I am bumping the external version for the HHVM-3.3 branch to 3.3.0. Now, bump the internal version to 3.4.0-dev to get ready for the next one.

Reviewed By: @ptarjan

Differential Revision: D1532428
Document hh_client --auto-complete

Summary: Closes https://github.com/facebook/hhvm/pull/3657

Reviewed By: @JoelMarcey

Differential Revision: D1534255
Make RUSAGE_THREAD available to getrusage PHP function

Summary: The signature of the PHP function is getrusage( [ int $who = 0 ] ).
In both HHVM and PHP5, $who can be 1 to request RUSAGE_CHILDREN data. This
change allows $who to be 2 to request RUSAGE_THREAD data. RUSAGE_THREAD
measures resource usage for just the calling thread.

This allows HHVM PHP code to measure resource usage for the current request.
(In PHP5 this can be done with RUSAGE_SELF, by dint of the threading model.)
Closes https://github.com/facebook/hhvm/pull/3632

Reviewed By: @JoelMarcey

Differential Revision: D1530059
Fix fall-through jump for the last region block

Summary: If the last block falls-through to another region block,
translateRegion was not inserting a jump but doing a ReqBindJmp
instead.

Reviewed By: @alexmalyshev

Differential Revision: D1534942
clean up /tmp/test-run- files

Summary: While investigating t5037772 I noticed we don't clean these files up. Seems prudent to.

Reviewed By: @JoelMarcey

Differential Revision: D1535223
VASM register-coalescing via hinting

Summary: Add hints to interval uses associated with copies, to try to
pick the same register.

Reviewed By: @swtaarrs

Differential Revision: D1486006
Assign vasm registers to all SSATmps

Summary: Flip x64 code generation over to virtual registers. If all uses and
defs of an SSATmp only access a whole cell, assign a "wide" location.
If a tmp is defined by DefConst, assign a cpool-backed virtual register.
If the type does not have a known DataType, assign a type register.
This intentionally ignores src/dest constraints, which will be phased
out.

Reviewed By: @swtaarrs

Differential Revision: D1530245
typechecker: recognize binary int literals

Summary: The binary int syntax (##0b101## for ##5##) is a handy syntax
 for certain use cases (such as declaring constants for bitwise
 masks), which wasn't being lexed as an int literal as an oversight.
 As with ##0x##, we don't recognize the alternate form ##0B##.

Reviewed By: @jwatzman

Differential Revision: D1533071
Remove xls support in x64 backend

Summary: D1530245 Removed the calls to it, this removes the now-dead code.

Reviewed By: @markw65

Differential Revision: D1530650
Added primitives for generic constraints

Summary: I added a check in Typing_subtype to allow for generics to have a
primitive type as a constraint.

Reviewed By: @jwatzman

Differential Revision: D1523271
Support for HH_FIXME

Summary: It's sometimes difficult to fix all the typing errors at once.
This problem occurs when we try to convert a core library or when
we introduce a new check that reveals a lot of typing errors.

This diff adds support for a new construction: one can now add
/* HH_FIXME[ERROR_NUMBER] */ on the line that contains an error and
the error will be ignored by the type-checker.

We hope that this will help us to crowdsource the conversion effort.

Reviewed By: @jwatzman, @elgenie

Differential Revision: D1517560
Fix typo that snuck into one of the vasm diffs.

Summary: Looking at the way newIdx is used, the typo means we could get
down the "idx not const" path, then use newIdxReg which should
be valid, because ContArUpdateIdx is not whitelisted in
mayUseConst(). I think we're dodging the bullet but this needs
fixing anyway.

Reviewed By: @swtaarrs

Differential Revision: D1536301
Remove m_extra from SimpleFunctionCall

Summary: Honestly, I have no idea what this is doing, but the assert is firing
and@markw65 said it's OK to remove, so here we are.

Reviewed By: @jdelong

Differential Revision: D1536384
Fix read of uninitialized stack in AGetL interp

Summary: If an interpreted AGetL ended up fataling or otherwise encountering an
exception, it would read an uninitialized stack slot during unwinding.
Make sure it's initialized to uninit-null instead. This will never be
seen by user code; either it will be overwritten by the right classref
or we'll unwind past it.

Reviewed By: @jdelong

Differential Revision: D1536360
Skip inited checks for classes with all persistent static props

Summary: If they're all persistent, there's nothing to do.

Reviewed By: @jdelong

Differential Revision: D1536359