Remove trailing junk from IP addresses for sockets

Summary: If IP addresses contain an additional '/' (potentially followed by other
characters) they should all be ignored. For instance prot://1.2.3.4:567/foo
is a connection to 1.2.3.4 on port 567 over protocol prot where /foo is
simply ignored.

Fixes #3154

Reviewed By: @JoelMarcey

Differential Revision: D1671652

Signature: t1:1671652:1415769458:5fd487f565ec5f3c4a801270b9857f8174c89070
Add getTypeText to ReflectionParameter

Summary: It is there and working, but hh complains about it as it is not in the hhi.

Reviewed By: @elgenie

Differential Revision: D1674730
Change the Profiler constructor to not necessarily force CPU affinity.

Summary: CPU affinity is needed to get monotonic real time clock ticks from rdtsc,
but that effectively disables running multiple threads in server mode.

Some profilers may not need the rdtsc data.

All existing profilers in the code base preserve their previous semantics.
Closes https://github.com/facebook/hhvm/pull/4163

Reviewed By: @JoelMarcey

Differential Revision: D1666121

Signature: t1:1666121:1415832657:60deae3e777ee3bddebd0bf97b0c4bbb3b820486
qlzcompress is not available everywhere, and there's no support for it i...

Summary: ...n OSS
Closes https://github.com/facebook/hhvm/pull/4236

Reviewed By: @JoelMarcey

Differential Revision: D1677289

Signature: t1:1677289:1415838727:13f5c39992451100d1131869f931f6c1ccb2128b
Remove magic quotes

Summary: It has beeen removed since PHP5.4
Closes https://github.com/facebook/hhvm/pull/4203

Reviewed By: @JoelMarcey

Differential Revision: D1669988

Signature: t1:1669988:1415843237:56b2bb711980d9d2e356a5e2799be290f975a155
Break regions after FCall & friends when using LLVM

Summary: When using the LLVM backend, we're going to break regions after
bytecodes that use bindcall or something similar. This is intended to be
temporary and for reasons too lengthy to go into here. I also cleaned things up
a little so we actually obey the intent of the EvalJitLLVM runtime option: 1
means Optimize translations only, while >1 means all translations.

Reviewed By: @jasone

Differential Revision: D1671586

Signature: t1:1671586:1415671170:c540b409c2d27aff6d9f00723a3d0e17fceb9e6e
Go back to individual cache props for statics

Summary: This diff is a prereq for experimenting with using individual props for instance methods when there are <N of them. It accomplishes a few things:
- Centralize the prop creation logic to make that experiment easier
- Go back to individaul props for statics. Statics almost certainly didn't contribute to the memory regression, and there tend to be only a couple per class so the extra layer was probably a negative
- Eliminates a local when using shared props in favor of emitting the int directly which should make that scenario slightly more efficient.

Reviewed By: @jano

Differential Revision: D1659983

Signature: t1:1659983:1415835257:6e1f6b6230da8b9637049b0d50087ca321e1f428
add at() to MysqlRow in hhi file

Summary: as subject

Reviewed By: @​anca

Differential Revision: D1677983

Signature: t1:1677983:1415840723:029c1dd8214a62e05edbb579c5d648255c34e5e1
unparse constants defined using define

Summary: The hack parser parses usage of "define" as a function call unless it happens to be using a String. This
unparses those correctly

Reviewed By: @jwatzman

Differential Revision: D1676521

Signature: t1:1676521:1415838137:32805e7539a9564f6e02785e7748c35e1f78fa61
merge lvalue and lvalue_foreach

Summary: A previous diff introduced lvalue_foreach inside GetLocals. This merges lvalue_foreach and lvalue
to capture lvalues. Any invalid representations that are possible should ideally be weeded out during the parsing phase.

Reviewed By: @elgenie

Differential Revision: D1678282

Signature: t1:1678282:1415846509:41c9055a003d372b0892078127896043f0870400
Pass absolute path from TranslatePath to TranslatePathRelative

Summary: When SafeFileAccess is on trying to access relative paths would always fail.
Additionally paths which failed the security check were being translated to be
the cwd, which could itself be outside the allowed directories.

Fixes #2774

Reviewed By: @JoelMarcey

Differential Revision: D1677651

Signature: t1:1677651:1415837620:50d0b15b04da5641f2f7c82a173c791e8478029f
Wait for clean shutdown on SIGHUP

Summary: HHVM is supposed to do a clean shutdown when it receives SIGHUP -
which it does when using LibEventServer - but with ProxygenServer, it spins off
an additional thread to shutdown queues, leaving the original thread to
re-raise the signal before the queues drain.  Fix this by waiting for the
servers to stop.

Reviewed By: @markw65

Differential Revision: D1675300

Signature: t1:1675300:1415808825:f77150b8cb0ea85eaf90d58095be4baeaea2d317
Capture interim work.

Attempt to generate a function return prehook point,
but those attempts fail due to a malformed CFG.

Add back in ext_system_profiler.{cpp,h} as that is faster than using the
debugger hooks.

Get the function return hooks back in again after a botched rebase.
Chase our mods to translator for returns into their new file locations and mechanisms.
staw man implementation of a method to handle rinit ini settings correctly.
Disable initUniqueStubs when !RuntimeOption::EvalJit
refactor onFunctionExit and onFunctionPreExit to support cases when not jitting
Extend Profiler constructor to support needCPUAffinity