Allow expression evaluation to work when multiple threads exist in the inferior (on Linux)
- handle m_resume_state == eStateStopped || eStateSuspended in DoResume rather than asserting



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175094 91177308-0d34-0410-b5e6-96231b3b80d8
Skip test that causes lldb to assert due to inferior getting a SIGSEGV with si_code == SI_KERNEL (PR-15258)
- crash does not always reproduce



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175095 91177308-0d34-0410-b5e6-96231b3b80d8
<rdar://problem/13210494>

Parse objective C information as efficiently as possible and without taking dangerous runtime locks.

Reworked the way objective C information is parsed by:
1 - don't read all class names up front, this is about 500K of data with names
2 - add a 32 bit hash map that maps a hash of a name to the Class pointer (isa)
3 - Improved name lookups by using the new hash map
4 - split up reading the objc runtime info into dynamic and shared cache since the shared cache only needs to be read once.
5 - When reading all isa values, also get the 32 bit hash instead of the name
6 - Read names lazily now that we don't need all names up front
7 - Allow the hash maps to not be there and still have this function correctly

There is dead code in here with all of the various methods I tried. I want to check this in first to not lose any of it in case we need to revert to any of the extra code. I will promptly cleanup and commit again.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175101 91177308-0d34-0410-b5e6-96231b3b80d8
Skip another two other tests asserting on Linux in RecordLayoutBuilder::updateExternalFieldOffset().


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175103 91177308-0d34-0410-b5e6-96231b3b80d8