A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://clang.llvm.org/doxygen/classclang_1_1interp_1_1DynamicAllocator.html below:

clang: clang::interp::DynamicAllocator Class Reference

Manages dynamic memory allocations done during bytecode interpretation. More...

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/AST/ByteCode/DynamicAllocator.h"

Public Member Functions   DynamicAllocator ()=default     ~DynamicAllocator ()   void  cleanup ()   unsigned  getNumAllocations () const   Blockallocate (const Descriptor *D, unsigned EvalID, Form AllocForm)   Allocate ONE element of the given descriptor.
  Blockallocate (const Expr *Source, PrimType T, size_t NumElements, unsigned EvalID, Form AllocForm)   Allocate NumElements primitive elements of the given type.
  Blockallocate (const Descriptor *D, size_t NumElements, unsigned EvalID, Form AllocForm)   Allocate NumElements elements of the given descriptor.
  bool  deallocate (const Expr *Source, const Block *BlockToDelete, InterpState &S)   Deallocate the given source+block combination.
  std::optional< FormgetAllocationForm (const Expr *Source) const   Checks whether the allocation done at the given source is an array allocation.
  llvm::iterator_range< const_virtual_iterallocation_sites () const   Detailed Description

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 ExprSource ) const inline

Checks 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 inline

The 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