diff options
Diffstat (limited to 'gcc/lra-int.h')
-rw-r--r-- | gcc/lra-int.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/lra-int.h b/gcc/lra-int.h index 12923ee..42e4a54 100644 --- a/gcc/lra-int.h +++ b/gcc/lra-int.h @@ -54,6 +54,21 @@ struct lra_live_range lra_live_range_t next; /* Pointer to structures with the same start. */ lra_live_range_t start_next; + + /* Pool allocation new operator. */ + inline void *operator new (size_t) + { + return pool.allocate (); + } + + /* Delete operator utilizing pool allocation. */ + inline void operator delete (void *ptr) + { + pool.remove ((lra_live_range *) ptr); + } + + /* Memory allocation pool. */ + static pool_allocator<lra_live_range> pool; }; typedef struct lra_copy *lra_copy_t; |