| //===- PoolAllocator.h - Pool allocator runtime interface file --*- C++ -*-===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file was developed by the LLVM research group and is distributed under |
| // the University of Illinois Open Source License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| // |
| // This file defines the interface which is implemented by the LLVM pool |
| // allocator runtime library. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #ifndef _SC_POOLALLOCATOR_RUNTIME_H_ |
| #define _SC_POOLALLOCATOR_RUNTIME_H_ |
| |
| #include "../include/DebugRuntime.h" |
| |
| #include "llvm/ADT/DenseMap.h" |
| |
| #include <map> |
| |
| namespace llvm { |
| |
| extern DebugPoolTy dummyPool; |
| |
| // Splay tree of external objects |
| extern RangeSplaySet<> * ExternalObjects; |
| |
| // Records Out of Bounds pointer rewrites; also used by OOB rewrites for |
| // exactcheck() calls |
| extern DebugPoolTy OOBPool; |
| |
| // Record from which object an OOB pointer originates |
| //extern llvm::DenseMap<void *, std::pair<const void *, const void * > > RewrittenObjs; |
| |
| |
| } |
| #endif |