hotspot/src/share/vm/runtime/os.cpp
changeset 46295 6092ca55b77b
parent 46289 1904e7ec236e
child 46329 53ccc37bda19
--- a/hotspot/src/share/vm/runtime/os.cpp	Tue Feb 28 10:51:47 2017 -0800
+++ b/hotspot/src/share/vm/runtime/os.cpp	Mon Oct 24 14:51:16 2016 +0200
@@ -649,6 +649,12 @@
     return NULL;
   }
 
+  if (size == 0) {
+    // return a valid pointer if size is zero
+    // if NULL is returned the calling functions assume out of memory.
+    size = 1;
+  }
+
 #ifndef ASSERT
   NOT_PRODUCT(inc_stat_counter(&num_mallocs, 1));
   NOT_PRODUCT(inc_stat_counter(&alloc_bytes, size));
@@ -669,9 +675,6 @@
   // NMT support
   void* membase = MemTracker::malloc_base(memblock);
   verify_memory(membase);
-  if (size == 0) {
-    return NULL;
-  }
   // always move the block
   void* ptr = os::malloc(size, memflags, stack);
   if (PrintMalloc && tty != NULL) {