Home | History | Annotate | Download | only in allocator_shim
      1 // Copyright 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "allocator_shim/allocator_stub.h"
      6 
      7 #if !defined(LIBPEERCONNECTION_IMPLEMENTATION) || defined(LIBPEERCONNECTION_LIB)
      8 #error "Only compile the allocator proxy with the shared_library implementation"
      9 #endif
     10 
     11 #if defined(OS_MACOSX) || defined(OS_ANDROID)
     12 #error "The allocator proxy isn't supported (or needed) on mac or android."
     13 #endif
     14 
     15 extern AllocateFunction g_alloc;
     16 extern DellocateFunction g_dealloc;
     17 
     18 // Override the global new/delete routines and proxy them over to the allocator
     19 // routines handed to us via InitializeModule.
     20 
     21 void* operator new(std::size_t n) throw() {
     22   return g_alloc(n);
     23 }
     24 
     25 void operator delete(void* p) throw() {
     26   g_dealloc(p);
     27 }
     28