Manages dynamic memory allocations done during bytecode interpretation. More...
Public Member Functions DynamicAllocator ()=default ~DynamicAllocator () void cleanup () unsigned getNumAllocations () const Block * allocate (const Descriptor *D, unsigned EvalID, Form AllocForm) Allocate ONE element of the given descriptor.NumElements
primitive elements of the given type.
NumElements
elements of the given descriptor.
Manages dynamic memory allocations done during bytecode interpretation.
We manage allocations as a map from their new-expression to a list of allocations. This is called an AllocationSite. For each site, we record whether it was allocated using new or new[], the IsArrayAllocation flag.
For all array allocations, we need to allocate new Descriptor instances, so the DynamicAllocator has a llvm::BumpPtrAllocator similar to Program.
Definition at line 33 of file DynamicAllocator.h.
Member Typedef Documentation ◆ const_virtual_iter Member Enumeration Documentation ◆ Form Constructor & Destructor Documentation ◆ DynamicAllocator() clang::interp::DynamicAllocator::DynamicAllocator ( ) default ◆ ~DynamicAllocator() DynamicAllocator::~DynamicAllocator ( ) Member Function Documentation ◆ allocate() [1/3] ◆ allocate() [2/3] ◆ allocate() [3/3] ◆ allocation_sites() llvm::iterator_range< const_virtual_iter > clang::interp::DynamicAllocator::allocation_sites ( ) const inline ◆ cleanup() void DynamicAllocator::cleanup ( ) ◆ deallocate() ◆ getAllocationForm() std::optional< Form > clang::interp::DynamicAllocator::getAllocationForm ( const Expr * Source ) const inlineChecks whether the allocation done at the given source is an array allocation.
Definition at line 84 of file DynamicAllocator.h.
◆ getNumAllocations() unsigned clang::interp::DynamicAllocator::getNumAllocations ( ) const inlineThe documentation for this class was generated from the following files:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4