Mercurial > hg > graal-jvmci-8
comparison src/os/solaris/vm/os_solaris.cpp @ 8739:ca9580859cf4
8004697: SIGSEGV on Solaris sparc with -XX:+UseNUMA
Summary: Don't scan pages outside the given range.
Reviewed-by: jwilhelm, jmasa
author | stefank |
---|---|
date | Mon, 11 Mar 2013 02:24:01 -0700 |
parents | 5cd2fac2ae70 |
children | 15401203db6b |
comparison
equal
deleted
inserted
replaced
8738:1c88b99a2b01 | 8739:ca9580859cf4 |
---|---|
2943 size_t page_size = MAX2((size_t)os::vm_page_size(), page_expected->size); | 2943 size_t page_size = MAX2((size_t)os::vm_page_size(), page_expected->size); |
2944 uint64_t p = (uint64_t)start; | 2944 uint64_t p = (uint64_t)start; |
2945 while (p < (uint64_t)end) { | 2945 while (p < (uint64_t)end) { |
2946 addrs[0] = p; | 2946 addrs[0] = p; |
2947 size_t addrs_count = 1; | 2947 size_t addrs_count = 1; |
2948 while (addrs_count < MAX_MEMINFO_CNT && addrs[addrs_count - 1] < (uint64_t)end) { | 2948 while (addrs_count < MAX_MEMINFO_CNT && addrs[addrs_count - 1] + page_size < (uint64_t)end) { |
2949 addrs[addrs_count] = addrs[addrs_count - 1] + page_size; | 2949 addrs[addrs_count] = addrs[addrs_count - 1] + page_size; |
2950 addrs_count++; | 2950 addrs_count++; |
2951 } | 2951 } |
2952 | 2952 |
2953 if (os::Solaris::meminfo(addrs, addrs_count, info_types, types, outdata, validity) < 0) { | 2953 if (os::Solaris::meminfo(addrs, addrs_count, info_types, types, outdata, validity) < 0) { |