7090069: Java launcher hangs in infinite loop on windows when UseNUMA[Interleaving] is specified
Summary: Fix _numa_used_node_list array size specification
Reviewed-by: kvn, johnc, jmasa, ysr
--- a/hotspot/src/os/windows/vm/os_windows.cpp Tue Sep 13 12:40:14 2011 -0400
+++ b/hotspot/src/os/windows/vm/os_windows.cpp Tue Sep 13 16:58:35 2011 -0700
@@ -2644,7 +2644,7 @@
ULONG highest_node_number;
if (!os::Kernel32Dll::GetNumaHighestNodeNumber(&highest_node_number)) return false;
free_node_list();
- _numa_used_node_list = NEW_C_HEAP_ARRAY(int, highest_node_number);
+ _numa_used_node_list = NEW_C_HEAP_ARRAY(int, highest_node_number + 1);
for (unsigned int i = 0; i <= highest_node_number; i++) {
ULONGLONG proc_mask_numa_node;
if (!os::Kernel32Dll::GetNumaNodeProcessorMask(i, &proc_mask_numa_node)) return false;