diff options
author | Evgeny Pavlov <lucenticus@gmail.com> | 2017-01-20 14:59:34 +0300 |
---|---|---|
committer | Jan Vorlicek <janvorli@microsoft.com> | 2017-01-20 12:59:34 +0100 |
commit | 4ac7fe064c2e57c818f565ba2c5192bc73250bf4 (patch) | |
tree | eb110175facbd5b172044e0d6f3ce8024dc6862b /src/vm/gdbjit.h | |
parent | d17e8c5f587fd8971dd61c2f282d98d395b5e4fc (diff) | |
download | coreclr-4ac7fe064c2e57c818f565ba2c5192bc73250bf4.tar.gz coreclr-4ac7fe064c2e57c818f565ba2c5192bc73250bf4.tar.bz2 coreclr-4ac7fe064c2e57c818f565ba2c5192bc73250bf4.zip |
[GDB-JIT][Linux] Fix incorrect displaying of (s)byte and char in lldb (#9022)
* [GDB-JIT] Initial support of typedef for correct displaying 'byte' and 'sbyte'
* [GDB-JIT] Add char typedef to show correct type in lldb
* Code cleanup
Diffstat (limited to 'src/vm/gdbjit.h')
-rw-r--r-- | src/vm/gdbjit.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/vm/gdbjit.h b/src/vm/gdbjit.h index 3160eccf57..19ece0180a 100644 --- a/src/vm/gdbjit.h +++ b/src/vm/gdbjit.h @@ -184,6 +184,43 @@ public: int m_type_encoding; }; +class TypeDefInfo : public DwarfDumpable +{ +public: + TypeDefInfo(char *typedef_name,int typedef_type): + m_typedef_name(typedef_name), m_typedef_type(typedef_type) {} + void DumpStrings(char* ptr, int& offset) override; + void DumpDebugInfo(char* ptr, int& offset) override; + virtual ~TypeDefInfo() + { + if (m_typedef_name != nullptr) + { + delete [] m_typedef_name; + } + } + char *m_typedef_name; + int m_typedef_type; + int m_typedef_type_offset; + int m_typedef_name_offset; +}; + +class ByteTypeInfo : public PrimitiveTypeInfo +{ +public: + ByteTypeInfo(TypeHandle typeHandle, int encoding) : PrimitiveTypeInfo(typeHandle, encoding) + { + m_typedef_info = new (nothrow) TypeDefInfo(nullptr, 0); + } + virtual ~ByteTypeInfo() + { + delete m_typedef_info; + } + void DumpDebugInfo(char* ptr, int& offset) override; + void DumpStrings(char* ptr, int& offset) override; + + TypeDefInfo* m_typedef_info; +}; + class RefTypeInfo: public TypeInfoBase { public: |