| Index: base/allocator/generic_allocators.cc
 | 
| diff --git a/base/allocator/generic_allocators.cc b/base/allocator/generic_allocators.cc
 | 
| index 5b5f379148c99ec16595ef6d410c60bd5a1ae24c..d12f3b976ac274c4526cc25ad143b130f0ac0203 100644
 | 
| --- a/base/allocator/generic_allocators.cc
 | 
| +++ b/base/allocator/generic_allocators.cc
 | 
| @@ -24,11 +24,11 @@ inline void* generic_cpp_alloc(size_t size, bool nothrow) {
 | 
|  
 | 
|  extern "C++" {
 | 
|  
 | 
| -void* __cdecl operator new(size_t size) {
 | 
| +void* operator new(size_t size) {
 | 
|    return generic_cpp_alloc(size, false);
 | 
|  }
 | 
|  
 | 
| -void operator delete(void* p) throw() {
 | 
| +void operator delete(void* p) {
 | 
|    free(p);
 | 
|  }
 | 
|  
 | 
| @@ -36,18 +36,26 @@ void* operator new[](size_t size) {
 | 
|    return generic_cpp_alloc(size, false);
 | 
|  }
 | 
|  
 | 
| -void operator delete[](void* p) throw() {
 | 
| +void operator delete[](void* p) {
 | 
|    free(p);
 | 
|  }
 | 
|  
 | 
| -void* operator new(size_t size, const std::nothrow_t& nt) throw() {
 | 
| +void* operator new(size_t size, const std::nothrow_t& nt) {
 | 
|    return generic_cpp_alloc(size, true);
 | 
|  }
 | 
|  
 | 
| -void* operator new[](size_t size, const std::nothrow_t& nt) throw() {
 | 
| +void operator delete(void* p, const std::nothrow_t& nt) {
 | 
| +  free(p);
 | 
| +}
 | 
| +
 | 
| +void* operator new[](size_t size, const std::nothrow_t& nt) {
 | 
|    return generic_cpp_alloc(size, true);
 | 
|  }
 | 
|  
 | 
| +void operator delete[](void* p, const std::nothrow_t& nt) {
 | 
| +  free(p);
 | 
| +}
 | 
| +
 | 
|  // This function behaves similarly to MSVC's _set_new_mode.
 | 
|  // If flag is 0 (default), calls to malloc will behave normally.
 | 
|  // If flag is 1, calls to malloc will behave like calls to new,
 | 
| 
 |