Remove calls to ObjectData::o_getArray(arr, false).

Summary: The second argument already defaults to false.

While I'm here, make some Class* arguments into const Class*.

Reviewed By: @swtaarrs

Differential Revision: D1741711

Signature: t1:1741711:1418723072:aa3c21c17a5fa7617162cae9154a89b05dcaea23
Enable dead code warnings in typing/

Summary: @pikatchu said it was worth keeping the SubstPos code around,
because we ideally should re-implement it at some point. It was disabled
because it was buggy, but working right it would still be a useful
feature. To avoid OCaml yelling at us for unused code, we declare the
relevant functions in `mli`s.

Reviewed By: @elgenie

Differential Revision: D1742207

Signature: t1:1742207:1418746019:22aebbc9f8e6e099df3b6a3258206846a6ff0cb7
Delete unused method HttpServer::abortServers

Summary: Nothing calls it.

Reviewed By: @markw65

Differential Revision: D1741431

Signature: t1:1741431:1418741669:c3f49036452315a45b66509e3044ed343a680d0b
fix typo in name of LibreSSL in HPHPFindLibs.cmake

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

Reviewed By: @paulbiss

Differential Revision: D1742589

Signature: t1:1742589:1418766759:958691750c0a399ff9bb7114d2702538da36f943
Build with system fastlz if it exists

Summary: Fedora ships with fastlz package. This PR allows you to build with it.
Closes https://github.com/facebook/hhvm/pull/4470

Reviewed By: @paulbiss

Differential Revision: D1742586

Signature: t1:1742586:1418766893:37c3a5a36762769c2cd88aed57853020cfebfbe5
Fix infinite recursion in `non_null`

Summary: We need a more systematic way to deal with this, but let's fix
the worst one now.

Reviewed By: @elgenie

Differential Revision: D1743486
Update vfsstream framework test.

Summary: Update vfsstream framework test to include a fix for
vfsStreamWrapperWithoutRootTestCase::canNotOpen.
Closes https://github.com/facebook/hhvm/pull/4438

Reviewed By: @JoelMarcey

Differential Revision: D1737384

Signature: t1:1737384:1418767465:8f3c57e189d7bafae159dcfdd7012e712d28d1cc
Delete Class::zGetSProp.

Summary: It only had one callsite, inside of EZC. Inline that callsite and add an assert
that the returned sprop is not Uninit.

Reviewed By: @paulbiss

Differential Revision: D1742950

Signature: t1:1742950:1418759196:fb6f9218614904c59e1fd2fdc3d864321a89fdd9
Move verbose setting into benchy_config

Summary: Verbosity applies across all of the benchy scripts, so move it
into a central place so that it works correctly.

Reviewed By: @jdelong

Differential Revision: D1740138

Signature: t1:1740138:1418758374:ae750b3d59f76cd04d7d95964e44ad01f389b96a
Tell LLVM not to allocate space for stubs.

Summary: Disallow stub space allocation in LLVM.

Reviewed By: @jasone

Differential Revision: D1743007
Widen start/len of embedded_data to 64-bits

Summary: The ASAN-ified, unstripped binary is >4GiB, so the offset of systemlib
doesn't fit in 32 bits.

Reviewed By: @edwinsmith

Differential Revision: D1742979
Simplify ExtendsClass, InstanceOf, and InstanceOfIface

Summary: These cases are really hard to hit in the JIT right now, because
guard-relaxation likes to relax away a lot of specialized object
guards, and cases where the result of instanceof is known statically are
removed by some combination of hphpc and hhbbc.

That said, I would still like to be able to simplify them in the JIT.

I tested this by turning off guard-relaxation and looking at some
examples, plus running the test suite.

Reviewed By: @swtaarrs

Differential Revision: D1738285

Signature: t1:1738285:1418721826:6622d0c7da0ba7a63d317d28ad6c744eb3e65248
memcpy needs to be in .text.memcpy

Summary: It was in .text, so the linker script couldn't place it,
and it was ending up outside the map-huge portion of the text section
of the binary.

Reviewed By: @ottoni

Differential Revision: D1744089

Signature: t1:1744089:1418774491:2dd29f46100159efed7a8fca64165c284a14f97e
Simple speedup for is_dir

Summary: is_dir was calling realpath before calling stat. The only time
it needed that was so that prefix-matching on the AllowedDirectories
would work. Skip it unless we're in SafeFileMode (we could probably
be smarter here; have a version of File::TranslatePath that checks the
path against the allowed directories, then calls realpath and tries
again if it fails).

It also tried to lookup the directory in the StaticContentsCache; but
that only contains files, so pass false for useFileCache.

Reviewed By: @bertmaher

Differential Revision: D1743945
Don't use orqim on a 16-bit value

Summary: More code that was little-endian specific and getting messed up by the
llvm optimizer. In this case it was combining a write to an ObjectData's
o_attribute and m_count fields, turning the count into garbage and causing the
object to leak. I did some history digging and as far as I can tell, the only
reason this wasn't an orwim to begin with was because it was copied from some
TranslatorX64 code I wrote back in the dark days of the assembler, when we
didn't have a 16-bit version of or.

Reviewed By: @jasone

Differential Revision: D1742340
Fix some repo-mode llvm tests

Summary: - trflags is sometimes nonzero for fallback, so properly implement it
- The comment in ratToAssertType about already knowing Cell and Ref in the jit
   is only true for stack slots, not locals. Losing this type information was
   giving us a Gen base for a minstr instruction, upsetting one of the
   assertions. It was llvm-only because we change the length and shape of
   tracelets by forcing a break after FCall, and this kind of bug tends to
   depend on that.

Reviewed By: @jasone

Differential Revision: D1742487
Tweak comments on typing definitions.

Summary: union type -> intersection type

Wrap columns to 80

Reviewed By: @jwatzman

Differential Revision: D1738912

Signature: t1:1738912:1418781582:e43590a350f6ae9a020af89cf004377070f986d4
Remove dead JmpInstanceOfBitmask opcodes

Reviewed By: @mhahnenberg

Differential Revision: D1744510

Signature: t1:1744510:1418779742:fa206fa08a82f1700a0e01848bbe658ef70e7a03
Use make_shared<T> instead of shared_ptr(new T()) in a few places

Summary: It's marginally more efficient, so might as well encourage it.

Reviewed By: @swtaarrs

Differential Revision: D1744798

Signature: t1:1744798:1418813788:a1c2f67eefe87c0a8ef5ecc73031742b0cd40ed0
Add nameof command to gdb

Summary: I got tired of getting the names of things manually.

Also do a smide of cleanup.

Reviewed By: @markw65

Differential Revision: D1743369

Signature: t1:1743369:1418765252:889f9e8d7c101a87846a5540cfca69cdbd394401