LLVM
8.0.1
|
#include "llvm/Object/StackMapParser.h"
Classes | |
class | AccessorIterator |
class | ConstantAccessor |
Accessor for constants. More... | |
class | FunctionAccessor |
Accessor for function records. More... | |
class | LiveOutAccessor |
Accessor for stackmap live-out fields. More... | |
class | LocationAccessor |
Accessor for location records. More... | |
class | RecordAccessor |
Accessor for stackmap records. More... | |
Public Types | |
enum | LocationKind : uint8_t { LocationKind::Register = 1, LocationKind::Direct = 2, LocationKind::Indirect = 3, LocationKind::Constant = 4, LocationKind::ConstantIndex = 5 } |
using | function_iterator = AccessorIterator< FunctionAccessor > |
using | constant_iterator = AccessorIterator< ConstantAccessor > |
using | record_iterator = AccessorIterator< RecordAccessor > |
Public Member Functions | |
StackMapV2Parser (ArrayRef< uint8_t > StackMapSection) | |
Construct a parser for a version-2 stackmap. More... | |
unsigned | getVersion () const |
Get the version number of this stackmap. (Always returns 2). More... | |
uint32_t | getNumFunctions () const |
Get the number of functions in the stack map. More... | |
uint32_t | getNumConstants () const |
Get the number of large constants in the stack map. More... | |
uint32_t | getNumRecords () const |
Get the number of stackmap records in the stackmap. More... | |
FunctionAccessor | getFunction (unsigned FunctionIndex) const |
Return an FunctionAccessor for the given function index. More... | |
function_iterator | functions_begin () const |
Begin iterator for functions. More... | |
function_iterator | functions_end () const |
End iterator for functions. More... | |
iterator_range< function_iterator > | functions () const |
Iterator range for functions. More... | |
ConstantAccessor | getConstant (unsigned ConstantIndex) const |
Return the large constant at the given index. More... | |
constant_iterator | constants_begin () const |
Begin iterator for constants. More... | |
constant_iterator | constants_end () const |
End iterator for constants. More... | |
iterator_range< constant_iterator > | constants () const |
Iterator range for constants. More... | |
RecordAccessor | getRecord (unsigned RecordIndex) const |
Return a RecordAccessor for the given record index. More... | |
record_iterator | records_begin () const |
Begin iterator for records. More... | |
record_iterator | records_end () const |
End iterator for records. More... | |
iterator_range< record_iterator > | records () const |
Iterator range for records. More... | |
Definition at line 24 of file StackMapParser.h.
using llvm::StackMapV2Parser< Endianness >::constant_iterator = AccessorIterator<ConstantAccessor> |
Definition at line 314 of file StackMapParser.h.
using llvm::StackMapV2Parser< Endianness >::function_iterator = AccessorIterator<FunctionAccessor> |
Definition at line 313 of file StackMapParser.h.
using llvm::StackMapV2Parser< Endianness >::record_iterator = AccessorIterator<RecordAccessor> |
Definition at line 315 of file StackMapParser.h.
|
strong |
Enumerator | |
---|---|
Register | |
Direct | |
Indirect | |
Constant | |
ConstantIndex |
Definition at line 103 of file StackMapParser.h.
|
inline |
Construct a parser for a version-2 stackmap.
StackMap data will be read from the given array.
Definition at line 296 of file StackMapParser.h.
References assert(), E, llvm::StackMapV2Parser< Endianness >::getNumConstants(), llvm::StackMapV2Parser< Endianness >::getNumFunctions(), llvm::StackMapV2Parser< Endianness >::getNumRecords(), and I.
|
inline |
Iterator range for constants.
Definition at line 377 of file StackMapParser.h.
References llvm::StackMapV2Parser< Endianness >::constants_begin(), llvm::StackMapV2Parser< Endianness >::constants_end(), and llvm::make_range().
|
inline |
Begin iterator for constants.
Definition at line 365 of file StackMapParser.h.
References llvm::StackMapV2Parser< Endianness >::getConstant().
Referenced by llvm::StackMapV2Parser< Endianness >::constants().
|
inline |
End iterator for constants.
Definition at line 370 of file StackMapParser.h.
References llvm::StackMapV2Parser< Endianness >::getNumConstants().
Referenced by llvm::StackMapV2Parser< Endianness >::constants().
|
inline |
Iterator range for functions.
Definition at line 354 of file StackMapParser.h.
References llvm::StackMapV2Parser< Endianness >::functions_begin(), llvm::StackMapV2Parser< Endianness >::functions_end(), and llvm::make_range().
|
inline |
Begin iterator for functions.
Definition at line 342 of file StackMapParser.h.
References llvm::StackMapV2Parser< Endianness >::getFunction().
Referenced by llvm::StackMapV2Parser< Endianness >::functions().
|
inline |
End iterator for functions.
Definition at line 347 of file StackMapParser.h.
References llvm::StackMapV2Parser< Endianness >::getNumFunctions().
Referenced by llvm::StackMapV2Parser< Endianness >::functions().
|
inline |
Return the large constant at the given index.
Definition at line 359 of file StackMapParser.h.
Referenced by llvm::StackMapV2Parser< Endianness >::constants_begin().
|
inline |
Return an FunctionAccessor for the given function index.
Definition at line 336 of file StackMapParser.h.
Referenced by llvm::StackMapV2Parser< Endianness >::functions_begin().
|
inline |
Get the number of large constants in the stack map.
Definition at line 326 of file StackMapParser.h.
Referenced by llvm::StackMapV2Parser< Endianness >::constants_end(), and llvm::StackMapV2Parser< Endianness >::StackMapV2Parser().
|
inline |
Get the number of functions in the stack map.
Definition at line 321 of file StackMapParser.h.
Referenced by llvm::StackMapV2Parser< Endianness >::functions_end(), and llvm::StackMapV2Parser< Endianness >::StackMapV2Parser().
|
inline |
Get the number of stackmap records in the stackmap.
Definition at line 331 of file StackMapParser.h.
Referenced by llvm::StackMapV2Parser< Endianness >::records_begin(), llvm::StackMapV2Parser< Endianness >::records_end(), and llvm::StackMapV2Parser< Endianness >::StackMapV2Parser().
|
inline |
Return a RecordAccessor for the given record index.
Definition at line 382 of file StackMapParser.h.
Referenced by llvm::StackMapV2Parser< Endianness >::records_begin(), and llvm::StackMapV2Parser< Endianness >::records_end().
|
inline |
Get the version number of this stackmap. (Always returns 2).
Definition at line 318 of file StackMapParser.h.
|
inline |
Iterator range for records.
Definition at line 405 of file StackMapParser.h.
References llvm::make_range(), P, llvm::support::endian::read(), llvm::StackMapV2Parser< Endianness >::records_begin(), and llvm::StackMapV2Parser< Endianness >::records_end().
|
inline |
Begin iterator for records.
Definition at line 388 of file StackMapParser.h.
References llvm::StackMapV2Parser< Endianness >::getNumRecords(), and llvm::StackMapV2Parser< Endianness >::getRecord().
Referenced by llvm::StackMapV2Parser< Endianness >::records().
|
inline |
End iterator for records.
Definition at line 395 of file StackMapParser.h.
References llvm::StackMapV2Parser< Endianness >::getNumRecords(), and llvm::StackMapV2Parser< Endianness >::getRecord().
Referenced by llvm::StackMapV2Parser< Endianness >::records().