< 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 >