|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Arena-backed ownership context for SSA functions and modules. More...
#include <SSA.H>
Classes | |
| struct | Owned_Object |
Public Member Functions | |
| Compiler_SSA_Context (const size_t arena_size=AhArenaAllocator::DEFAULT_SIZE) | |
| Constructs an SSA context. | |
| Compiler_SSA_Context (const Compiler_SSA_Context &)=delete | |
| Compiler_SSA_Context & | operator= (const Compiler_SSA_Context &)=delete |
| ~Compiler_SSA_Context () noexcept | |
| Destroys all managed objects and rewinds the arena. | |
| template<typename T , typename... Args> | |
| T * | make (Args &&... args) |
| Allocates and constructs one SSA object in the arena. | |
| void | reset () noexcept |
| Resets the arena and destroys all tracked objects. | |
Private Attributes | |
| AhArenaAllocator | arena |
| DynArray< Owned_Object > | owned |
|
inlineexplicit |
|
delete |
|
inlinenoexcept |
Allocates and constructs one SSA object in the arena.
Definition at line 250 of file SSA.H.
References ah_runtime_error_unless, arena, Aleph::blossom_maximum_cardinality_matching(), and owned.
Referenced by Aleph::Compiler_SSA_Lowering::lower_function_internal(), and Aleph::Compiler_SSA_Lowering::lower_module().
|
delete |
|
inlinenoexcept |
Resets the arena and destroys all tracked objects.
Definition at line 267 of file SSA.H.
References Aleph::and, arena, owned, and Aleph::AhArenaAllocator::reset().
Referenced by ~Compiler_SSA_Context().
|
private |
|
private |