src/os/windows/vm/os_windows.cpp

changeset 3127
0a63380c8ac8
parent 3118
a6128a8ed624
child 3202
436b4a3231bf
equal deleted inserted replaced
3126:f1b4e0e0bdad 3127:0a63380c8ac8
2642 DWORD_PTR sys_aff_mask; 2642 DWORD_PTR sys_aff_mask;
2643 if (!GetProcessAffinityMask(GetCurrentProcess(), &proc_aff_mask, &sys_aff_mask)) return false; 2643 if (!GetProcessAffinityMask(GetCurrentProcess(), &proc_aff_mask, &sys_aff_mask)) return false;
2644 ULONG highest_node_number; 2644 ULONG highest_node_number;
2645 if (!os::Kernel32Dll::GetNumaHighestNodeNumber(&highest_node_number)) return false; 2645 if (!os::Kernel32Dll::GetNumaHighestNodeNumber(&highest_node_number)) return false;
2646 free_node_list(); 2646 free_node_list();
2647 _numa_used_node_list = NEW_C_HEAP_ARRAY(int, highest_node_number); 2647 _numa_used_node_list = NEW_C_HEAP_ARRAY(int, highest_node_number + 1);
2648 for (unsigned int i = 0; i <= highest_node_number; i++) { 2648 for (unsigned int i = 0; i <= highest_node_number; i++) {
2649 ULONGLONG proc_mask_numa_node; 2649 ULONGLONG proc_mask_numa_node;
2650 if (!os::Kernel32Dll::GetNumaNodeProcessorMask(i, &proc_mask_numa_node)) return false; 2650 if (!os::Kernel32Dll::GetNumaNodeProcessorMask(i, &proc_mask_numa_node)) return false;
2651 if ((proc_aff_mask & proc_mask_numa_node)!=0) { 2651 if ((proc_aff_mask & proc_mask_numa_node)!=0) {
2652 _numa_used_node_list[_numa_used_node_count++] = i; 2652 _numa_used_node_list[_numa_used_node_count++] = i;

mercurial