Changeset 58274 in vbox for trunk/include
- Timestamp:
- Oct 15, 2015 9:21:35 PM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 103465
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/mem.h
r57978 r58274 762 762 * RTMEM_WRAP_SOME_NEW_AND_DELETE_TO_EF is define. 763 763 */ 764 /** @def RTR0MEMEF_NEW_AND_DELETE_OPERATORS_IOKIT 765 * Defines the electric fence new and delete operators for an IOKit class when 766 * RTMEM_WRAP_SOME_NEW_AND_DELETE_TO_EF is define. 767 * 768 * This differs from RTMEMEF_NEW_AND_DELETE_OPERATORS in that the memory we 769 * allocate is initialized to zero. It is also assuming we don't have nothrow 770 * variants and exceptions, so fewer variations. 771 */ 764 772 #if defined(RTMEM_WRAP_SOME_NEW_AND_DELETE_TO_EF) && !defined(RTMEM_NO_WRAP_SOME_NEW_AND_DELETE_TO_EF) 765 773 # if defined(RT_EXCEPTIONS_ENABLED) … … 852 860 typedef int UsingElectricNewAndDeleteOperators 853 861 # endif 862 # define RTR0MEMEF_NEW_AND_DELETE_OPERATORS_IOKIT() \ 863 void *operator new(size_t cb) \ 864 { \ 865 return RTMemEfAllocZ(cb, RTMEM_TAG, RT_SRC_POS); \ 866 } \ 867 void *operator new[](size_t cb) \ 868 { \ 869 return RTMemEfAllocZ(cb, RTMEM_TAG, RT_SRC_POS); \ 870 } \ 871 \ 872 void operator delete(void *pv) \ 873 { \ 874 RTMemEfFree(pv, RT_SRC_POS); \ 875 } \ 876 void operator delete[](void *pv) \ 877 { \ 878 RTMemEfFree(pv, RT_SRC_POS); \ 879 } \ 880 \ 881 typedef int UsingElectricNewAndDeleteOperators 854 882 #else 855 883 # define RTMEMEF_NEW_AND_DELETE_OPERATORS() \ 884 typedef int UsingDefaultNewAndDeleteOperators 885 # define RTR0MEMEF_NEW_AND_DELETE_OPERATORS_IOKIT() \ 856 886 typedef int UsingDefaultNewAndDeleteOperators 857 887 #endif … … 863 893 * Define RTMEM_WRAP_TO_EF_APIS to wrap RTMem APIs to RTMemEf APIs. 864 894 */ 865 #if defined(RTMEM_WRAP_TO_EF_APIS) && defined(IN_RING3) && !defined(RTMEM_NO_WRAP_TO_EF_APIS) 895 #if defined(RTMEM_WRAP_TO_EF_APIS) && !defined(RTMEM_NO_WRAP_TO_EF_APIS) \ 896 && ( defined(IN_RING3) || ( defined(IN_RING0) && !defined(IN_RING0_AGNOSTIC) && (defined(RT_OS_DARWIN) || 0) ) ) 866 897 # define RTMemTmpAllocTag(cb, pszTag) RTMemEfTmpAlloc((cb), (pszTag), RT_SRC_POS) 867 898 # define RTMemTmpAllocZTag(cb, pszTag) RTMemEfTmpAllocZ((cb), (pszTag), RT_SRC_POS)
Note:
See TracChangeset
for help on using the changeset viewer.