| OLD | NEW | 
|---|
| 1 // Copyright (c) 2005, Google Inc. | 1 // Copyright (c) 2005, Google Inc. | 
| 2 // All rights reserved. | 2 // All rights reserved. | 
| 3 // | 3 // | 
| 4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without | 
| 5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are | 
| 6 // met: | 6 // met: | 
| 7 // | 7 // | 
| 8 //     * Redistributions of source code must retain the above copyright | 8 //     * Redistributions of source code must retain the above copyright | 
| 9 // notice, this list of conditions and the following disclaimer. | 9 // notice, this list of conditions and the following disclaimer. | 
| 10 //     * Redistributions in binary form must reproduce the above | 10 //     * Redistributions in binary form must reproduce the above | 
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 129   // These used to be different but are all the same now: they return | 129   // These used to be different but are all the same now: they return | 
| 130   // true iff all memory allocated since this HeapLeakChecker object | 130   // true iff all memory allocated since this HeapLeakChecker object | 
| 131   // was constructor is still reachable from global state. | 131   // was constructor is still reachable from global state. | 
| 132   // | 132   // | 
| 133   // Because we fork to convert addresses to symbol-names, and forking | 133   // Because we fork to convert addresses to symbol-names, and forking | 
| 134   // is not thread-safe, and we may be called in a threaded context, | 134   // is not thread-safe, and we may be called in a threaded context, | 
| 135   // we do not try to symbolize addresses when called manually. | 135   // we do not try to symbolize addresses when called manually. | 
| 136   bool NoLeaks() { return DoNoLeaks(DO_NOT_SYMBOLIZE); } | 136   bool NoLeaks() { return DoNoLeaks(DO_NOT_SYMBOLIZE); } | 
| 137 | 137 | 
| 138   // These forms are obsolete; use NoLeaks() instead. | 138   // These forms are obsolete; use NoLeaks() instead. | 
| 139   // TODO(csilvers): mark with ATTRIBUTE_DEPRECATED. | 139   // TODO(csilvers): mark as DEPRECATED. | 
| 140   bool QuickNoLeaks()  { return NoLeaks(); } | 140   bool QuickNoLeaks()  { return NoLeaks(); } | 
| 141   bool BriefNoLeaks()  { return NoLeaks(); } | 141   bool BriefNoLeaks()  { return NoLeaks(); } | 
| 142   bool SameHeap()      { return NoLeaks(); } | 142   bool SameHeap()      { return NoLeaks(); } | 
| 143   bool QuickSameHeap() { return NoLeaks(); } | 143   bool QuickSameHeap() { return NoLeaks(); } | 
| 144   bool BriefSameHeap() { return NoLeaks(); } | 144   bool BriefSameHeap() { return NoLeaks(); } | 
| 145 | 145 | 
| 146   // Detailed information about the number of leaked bytes and objects | 146   // Detailed information about the number of leaked bytes and objects | 
| 147   // (both of these can be negative as well). | 147   // (both of these can be negative as well). | 
| 148   // These are available only after a *SameHeap or *NoLeaks | 148   // These are available only after a *SameHeap or *NoLeaks | 
| 149   // method has been called. | 149   // method has been called. | 
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 409 // (they run only if we are doing heap leak checking.) | 409 // (they run only if we are doing heap leak checking.) | 
| 410 // 'body' should be the cleanup code to run.  'name' doesn't matter, | 410 // 'body' should be the cleanup code to run.  'name' doesn't matter, | 
| 411 // but must be unique amongst all REGISTER_HEAPCHECK_CLEANUP calls. | 411 // but must be unique amongst all REGISTER_HEAPCHECK_CLEANUP calls. | 
| 412 #define REGISTER_HEAPCHECK_CLEANUP(name, body)  \ | 412 #define REGISTER_HEAPCHECK_CLEANUP(name, body)  \ | 
| 413   namespace { \ | 413   namespace { \ | 
| 414   void heapcheck_cleanup_##name() { body; } \ | 414   void heapcheck_cleanup_##name() { body; } \ | 
| 415   static HeapCleaner heapcheck_cleaner_##name(&heapcheck_cleanup_##name); \ | 415   static HeapCleaner heapcheck_cleaner_##name(&heapcheck_cleanup_##name); \ | 
| 416   } | 416   } | 
| 417 | 417 | 
| 418 #endif  // BASE_HEAP_CHECKER_H_ | 418 #endif  // BASE_HEAP_CHECKER_H_ | 
| OLD | NEW | 
|---|