--- old/src/share/vm/memory/allocation.hpp 2014-02-18 17:23:30.000000000 -0500 +++ new/src/share/vm/memory/allocation.hpp 2014-02-18 17:23:30.000000000 -0500 @@ -406,15 +406,10 @@ void signal_out_of_memory(size_t request, const char* whence) const; - bool check_for_overflow(size_t request, const char* whence, - AllocFailType alloc_failmode = AllocFailStrategy::EXIT_OOM) const { + void check_for_overflow(size_t request, const char* whence) const { if (UINTPTR_MAX - request < (uintptr_t)_hwm) { - if (alloc_failmode == AllocFailStrategy::RETURN_NULL) { - return false; - } signal_out_of_memory(request, whence); } - return true; } public: @@ -438,8 +433,7 @@ assert(is_power_of_2(ARENA_AMALLOC_ALIGNMENT) , "should be a power of 2"); x = ARENA_ALIGN(x); debug_only(if (UseMallocOnly) return malloc(x);) - if (!check_for_overflow(x, "Arena::Amalloc", alloc_failmode)) - return NULL; + check_for_overflow(x, "Arena::Amalloc"); NOT_PRODUCT(inc_bytes_allocated(x);) if (_hwm + x > _max) { return grow(x, alloc_failmode); @@ -453,8 +447,7 @@ void *Amalloc_4(size_t x, AllocFailType alloc_failmode = AllocFailStrategy::EXIT_OOM) { assert( (x&(sizeof(char*)-1)) == 0, "misaligned size" ); debug_only(if (UseMallocOnly) return malloc(x);) - if (!check_for_overflow(x, "Arena::Amalloc_4", alloc_failmode)) - return NULL; + check_for_overflow(x, "Arena::Amalloc_4"); NOT_PRODUCT(inc_bytes_allocated(x);) if (_hwm + x > _max) { return grow(x, alloc_failmode); @@ -475,8 +468,7 @@ size_t delta = (((size_t)_hwm + DALIGN_M1) & ~DALIGN_M1) - (size_t)_hwm; x += delta; #endif - if (!check_for_overflow(x, "Arena::Amalloc_D", alloc_failmode)) - return NULL; + check_for_overflow(x, "Arena::Amalloc_D"); NOT_PRODUCT(inc_bytes_allocated(x);) if (_hwm + x > _max) { return grow(x, alloc_failmode); // grow() returns a result aligned >= 8 bytes.