Remove unused IsInherited flag

Its never set, and only used in one place.

Differential Revision: D953257
Persist debugger client settings that are altered via the set command

The set command can alter the values of some of the settings that are kept in the per user debugger configuration file. However, these settings do not get persisted back into the configuration file. Since the configuration file is affected by other user commands, this seems a tad strange. As we add more user options, I suspect that these options will be more discoverable if they are documented as part of the set command and if they persist in the configuration file.

Differential Revision: D952387
Quiet emit-time assert for bare $this in closures in non-methods

We appear to be handling bare $this differently in contexts
where it can actually do something, but it doesn't look like it should
matter: at JIT time InitThisLoc turns into nothing in a non-method
anyway.  Static closures and non-static closures in non-methods with
bare $this end up with a different state for
FunctionScope::needsLocalThis, it was unclear how to fix that earlier
in the frontend that so I'm just quieting the assertion here.

Differential Revision: D952951
A little cleanup in TraceProfiler

While working on TraceProfiler I kept hitting things that bugged me about the current code: bad names for things, classes with everything public, etc. This diff cleans a bunch of that up. There should be no semantic changes in this diff... yell if you see one.

I've also removed the TraceProfiler feature to serialize the trace with the results, and the function to deserialize the trace and produce results again. It's completely unused. The flag to turn it on was never exposed to PHP, as far back as the original diff, and there are no uses of the deserialize function in any repo.

Differential Revision: D950718
Remove K flag from ConvFooToDbl instructions

This appears to be left over from when they consumed ref
counts.

Differential Revision: D944139
Make ConvCellToStr & friends not consume refcount

And move the specialization logic to the simplifier.

Differential Revision: D944129
Move the helper for StringData::same into a function

I need to use this instead of memcmp now for D938354.  Doing
the function move in a separate diff to perflab independently.

Differential Revision: D943815
Move HphpArray::ElmKey to local use site

Helped me know what it was for.

Differential Revision: D952706
fix strerror warning on non-Linux

- strerror_r behaves differently on different platforms

Differential Revision: D953722
More tests

Test coverage
Compression, decompression on the fly, adding directories, mmap flavor

Differential Revision: D953688
update timeout default for stream_socket_accept

This is the default for zend. I'm using a sentinel value of -1 to indicate we should pull from the ini value

Differential Revision: D943345
Document set command. Add option to set the cut-off length of the = command. Increase default print level from 3 to 5.

The documentation and help for the set command was pretty useless. Made it convey what is possible. Also added and option for the maximum length allowed by the = command. Increased the print level from 3 to 5 since 3 seems too small for real life debugging examples.

Differential Revision: D953805
Delete some dead code in tx64

Differential Revision: D954279
decrease ring buffer size to 512KB

- decreases ring buffer size to 512KB to better support calling the JVM from an extension (1 MB causes problems with Java's thread stack size assumptions)

Closes #1015

Differential Revision: D953256
Instead of simply truncating output from =, give user a chance to continue display.

Display the first 200 characters of output, then put up a prompt and continue if the response is positive.

Differential Revision: D949503
DebuggerSerialize now preserves resource class and id of resource objects.

The debugger client obtains objects via serialization from the server and then converts them to text on the client. This is the right design since it gives the IDE a structured object that it can present to users in a summarized format. Unfortunately this presents many problems with objects that do not serialize across process boundaries without loss of information. The way resource objects were serialized caused them to show up as empty objects in the client. This diff adds logic to serialization/deserialization to make resources show up as dummy resources in the client. Serializing those to text gives the information that show up when server to text serialization is used.

Differential Revision: D950605
Don't store sweepable Object in SessionRequestData

Data inside Object turns into garbage between
requests when the resource is swept.

Closes #990

Differential Revision: D911041