< prev index next >

src/hotspot/share/memory/allocation.inline.hpp

Print this page

        

*** 46,132 **** *dest += add_value; #endif } #endif - // allocate using malloc; will fail if no memory available - inline char* AllocateHeap(size_t size, MEMFLAGS flags, - const NativeCallStack& stack, - AllocFailType alloc_failmode = AllocFailStrategy::EXIT_OOM) { - char* p = (char*) os::malloc(size, flags, stack); - if (p == NULL && alloc_failmode == AllocFailStrategy::EXIT_OOM) { - vm_exit_out_of_memory(size, OOM_MALLOC_ERROR, "AllocateHeap"); - } - return p; - } - - ALWAYSINLINE char* AllocateHeap(size_t size, MEMFLAGS flags, - AllocFailType alloc_failmode = AllocFailStrategy::EXIT_OOM) { - return AllocateHeap(size, flags, CURRENT_PC, alloc_failmode); - } - - ALWAYSINLINE char* ReallocateHeap(char *old, size_t size, MEMFLAGS flag, - AllocFailType alloc_failmode = AllocFailStrategy::EXIT_OOM) { - char* p = (char*) os::realloc(old, size, flag, CURRENT_PC); - if (p == NULL && alloc_failmode == AllocFailStrategy::EXIT_OOM) { - vm_exit_out_of_memory(size, OOM_MALLOC_ERROR, "ReallocateHeap"); - } - return p; - } - - inline void FreeHeap(void* p) { - os::free(p); - } - - - template <MEMFLAGS F> void* CHeapObj<F>::operator new(size_t size, - const NativeCallStack& stack) throw() { - return (void*)AllocateHeap(size, F, stack); - } - - template <MEMFLAGS F> void* CHeapObj<F>::operator new(size_t size) throw() { - return CHeapObj<F>::operator new(size, CALLER_PC); - } - - template <MEMFLAGS F> void* CHeapObj<F>::operator new (size_t size, - const std::nothrow_t& nothrow_constant, const NativeCallStack& stack) throw() { - return (void*)AllocateHeap(size, F, stack, AllocFailStrategy::RETURN_NULL); - } - - template <MEMFLAGS F> void* CHeapObj<F>::operator new (size_t size, - const std::nothrow_t& nothrow_constant) throw() { - return CHeapObj<F>::operator new(size, nothrow_constant, CALLER_PC); - } - - template <MEMFLAGS F> void* CHeapObj<F>::operator new [](size_t size, - const NativeCallStack& stack) throw() { - return CHeapObj<F>::operator new(size, stack); - } - - template <MEMFLAGS F> void* CHeapObj<F>::operator new [](size_t size) - throw() { - return CHeapObj<F>::operator new(size, CALLER_PC); - } - - template <MEMFLAGS F> void* CHeapObj<F>::operator new [](size_t size, - const std::nothrow_t& nothrow_constant, const NativeCallStack& stack) throw() { - return CHeapObj<F>::operator new(size, nothrow_constant, stack); - } - - template <MEMFLAGS F> void* CHeapObj<F>::operator new [](size_t size, - const std::nothrow_t& nothrow_constant) throw() { - return CHeapObj<F>::operator new(size, nothrow_constant, CALLER_PC); - } - - template <MEMFLAGS F> void CHeapObj<F>::operator delete(void* p){ - FreeHeap(p); - } - - template <MEMFLAGS F> void CHeapObj<F>::operator delete [](void* p){ - FreeHeap(p); - } - template <class E> size_t MmapArrayAllocator<E>::size_for(size_t length) { size_t size = length * sizeof(E); int alignment = os::vm_allocation_granularity(); return align_up(size, alignment); --- 46,55 ----
< prev index next >