hotspot/src/share/vm/memory/filemap.cpp
changeset 31360 87d3a62c7e35
parent 31345 1bba15125d8d
child 31364 782625e8fb3c
--- a/hotspot/src/share/vm/memory/filemap.cpp	Wed Jun 17 14:44:54 2015 +0200
+++ b/hotspot/src/share/vm/memory/filemap.cpp	Wed Jun 17 13:22:38 2015 -0700
@@ -647,8 +647,8 @@
   return base;
 }
 
-MemRegion *string_ranges = NULL;
-int num_ranges = 0;
+static MemRegion *string_ranges = NULL;
+static int num_ranges = 0;
 bool FileMapInfo::map_string_regions() {
 #if INCLUDE_ALL_GCS
   if (UseG1GC && UseCompressedOops && UseCompressedClassPointers) {
@@ -737,7 +737,10 @@
 }
 
 void FileMapInfo::fixup_string_regions() {
-  if (string_ranges != NULL) {
+  // If any string regions were found, call the fill routine to make them parseable.
+  // Note that string_ranges may be non-NULL even if no ranges were found.
+  if (num_ranges != 0) {
+    assert(string_ranges != NULL, "Null string_ranges array with non-zero count");
     G1CollectedHeap::heap()->fill_archive_regions(string_ranges, num_ranges);
   }
 }