| 
    LLVM 22.0.0git
    
   | 
 
A parser for the latest stackmap format. At the moment, latest=V3. More...
#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 class | LocationKind : uint8_t {  Register = 1 , Direct = 2 , Indirect = 3 , Constant = 4 , ConstantIndex = 5 }  | 
| using | function_iterator = AccessorIterator<FunctionAccessor> | 
| using | constant_iterator = AccessorIterator<ConstantAccessor> | 
| using | record_iterator = AccessorIterator<RecordAccessor> | 
Public Member Functions | |
| StackMapParser (ArrayRef< uint8_t > StackMapSection) | |
| Construct a parser for a version-3 stackmap.   | |
| unsigned | getVersion () const | 
| Get the version number of this stackmap. (Always returns 3).   | |
| uint32_t | getNumFunctions () const | 
| Get the number of functions in the stack map.   | |
| uint32_t | getNumConstants () const | 
| Get the number of large constants in the stack map.   | |
| uint32_t | getNumRecords () const | 
| Get the number of stackmap records in the stackmap.   | |
| FunctionAccessor | getFunction (unsigned FunctionIndex) const | 
| Return an FunctionAccessor for the given function index.   | |
| function_iterator | functions_begin () const | 
| Begin iterator for functions.   | |
| function_iterator | functions_end () const | 
| End iterator for functions.   | |
| iterator_range< function_iterator > | functions () const | 
| Iterator range for functions.   | |
| ConstantAccessor | getConstant (unsigned ConstantIndex) const | 
| Return the large constant at the given index.   | |
| constant_iterator | constants_begin () const | 
| Begin iterator for constants.   | |
| constant_iterator | constants_end () const | 
| End iterator for constants.   | |
| iterator_range< constant_iterator > | constants () const | 
| Iterator range for constants.   | |
| RecordAccessor | getRecord (unsigned RecordIndex) const | 
| Return a RecordAccessor for the given record index.   | |
| record_iterator | records_begin () const | 
| Begin iterator for records.   | |
| record_iterator | records_end () const | 
| End iterator for records.   | |
| iterator_range< record_iterator > | records () const | 
| Iterator range for records.   | |
Static Public Member Functions | |
| static Error | validateHeader (ArrayRef< uint8_t > StackMapSection) | 
| Validates the header of the specified stack map section.   | |
A parser for the latest stackmap format. At the moment, latest=V3.
Definition at line 24 of file StackMapParser.h.
| using llvm::StackMapParser< Endianness >::constant_iterator = AccessorIterator<ConstantAccessor> | 
Definition at line 341 of file StackMapParser.h.
| using llvm::StackMapParser< Endianness >::function_iterator = AccessorIterator<FunctionAccessor> | 
Definition at line 340 of file StackMapParser.h.
| using llvm::StackMapParser< Endianness >::record_iterator = AccessorIterator<RecordAccessor> | 
Definition at line 342 of file StackMapParser.h.
      
  | 
  strong | 
| Enumerator | |
|---|---|
| Register | |
| Direct | |
| Indirect | |
| Constant | |
| ConstantIndex | |
Definition at line 105 of file StackMapParser.h.
      
  | 
  inline | 
Construct a parser for a version-3 stackmap.
StackMap data will be read from the given array.
Definition at line 306 of file StackMapParser.h.
References assert(), E(), getNumConstants(), getNumFunctions(), getNumRecords(), and I.
      
  | 
  inline | 
Iterator range for constants.
Definition at line 404 of file StackMapParser.h.
References constants_begin(), constants_end(), and llvm::make_range().
      
  | 
  inline | 
Begin iterator for constants.
Definition at line 392 of file StackMapParser.h.
References getConstant().
Referenced by constants().
      
  | 
  inline | 
End iterator for constants.
Definition at line 397 of file StackMapParser.h.
References getNumConstants().
Referenced by constants().
      
  | 
  inline | 
Iterator range for functions.
Definition at line 381 of file StackMapParser.h.
References functions_begin(), functions_end(), and llvm::make_range().
      
  | 
  inline | 
Begin iterator for functions.
Definition at line 369 of file StackMapParser.h.
References getFunction().
Referenced by functions().
      
  | 
  inline | 
End iterator for functions.
Definition at line 374 of file StackMapParser.h.
References getNumFunctions().
Referenced by functions().
      
  | 
  inline | 
Return the large constant at the given index.
Definition at line 386 of file StackMapParser.h.
References ConstantIndex.
Referenced by constants_begin().
      
  | 
  inline | 
Return an FunctionAccessor for the given function index.
Definition at line 363 of file StackMapParser.h.
Referenced by functions_begin().
      
  | 
  inline | 
Get the number of large constants in the stack map.
Definition at line 353 of file StackMapParser.h.
Referenced by constants_end(), and StackMapParser().
      
  | 
  inline | 
Get the number of functions in the stack map.
Definition at line 348 of file StackMapParser.h.
Referenced by functions_end(), and StackMapParser().
      
  | 
  inline | 
Get the number of stackmap records in the stackmap.
Definition at line 358 of file StackMapParser.h.
Referenced by records_begin(), records_end(), and StackMapParser().
      
  | 
  inline | 
Return a RecordAccessor for the given record index.
Definition at line 409 of file StackMapParser.h.
Referenced by records_begin(), and records_end().
      
  | 
  inline | 
Get the version number of this stackmap. (Always returns 3).
Definition at line 345 of file StackMapParser.h.
      
  | 
  inline | 
Iterator range for records.
Definition at line 432 of file StackMapParser.h.
References llvm::make_range(), records_begin(), and records_end().
      
  | 
  inline | 
Begin iterator for records.
Definition at line 415 of file StackMapParser.h.
References getNumRecords(), and getRecord().
Referenced by records().
      
  | 
  inline | 
End iterator for records.
Definition at line 422 of file StackMapParser.h.
References getNumRecords(), and getRecord().
Referenced by records().
      
  | 
  inlinestatic | 
Validates the header of the specified stack map section.
Definition at line 324 of file StackMapParser.h.
References llvm::object::createError(), llvm::Error::success(), and llvm::Version.