Re-apply r211287: Remove support for LLVM runtime multi-threading.
[oota-llvm.git] / include / llvm / Support / RecyclingAllocator.h
index 34ab874778c912bc7fba98459c5fd0f189138509..001d1cf7c3df2f08e85776ef7cb94e63a12479ca 100644 (file)
@@ -51,15 +51,19 @@ public:
   template<class SubClass>
   void Deallocate(SubClass* E) { return Base.Deallocate(Allocator, E); }
 
-  void PrintStats() { Base.PrintStats(); }
+  void PrintStats() {
+    Allocator.PrintStats();
+    Base.PrintStats();
+  }
 };
 
 }
 
 template<class AllocatorType, class T, size_t Size, size_t Align>
-inline void *operator new(size_t,
+inline void *operator new(size_t size,
                           llvm::RecyclingAllocator<AllocatorType,
                                                    T, Size, Align> &Allocator) {
+  assert(size <= Size && "allocation size exceeded");
   return Allocator.Allocate();
 }