comparison src/share/vm/gc_implementation/shared/mutableNUMASpace.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 f34d701e952e
children de6a9e811145
comparison
equal deleted inserted replaced
8738:1c88b99a2b01 8739:ca9580859cf4
946 char *e = os::scan_pages(s, (char*)scan_end, &page_expected, &page_found); 946 char *e = os::scan_pages(s, (char*)scan_end, &page_expected, &page_found);
947 if (e == NULL) { 947 if (e == NULL) {
948 break; 948 break;
949 } 949 }
950 if (e != scan_end) { 950 if (e != scan_end) {
951 assert(e < scan_end, err_msg("e: " PTR_FORMAT " scan_end: " PTR_FORMAT, e, scan_end));
952
951 if ((page_expected.size != page_size || page_expected.lgrp_id != lgrp_id()) 953 if ((page_expected.size != page_size || page_expected.lgrp_id != lgrp_id())
952 && page_expected.size != 0) { 954 && page_expected.size != 0) {
953 os::free_memory(s, pointer_delta(e, s, sizeof(char)), page_size); 955 os::free_memory(s, pointer_delta(e, s, sizeof(char)), page_size);
954 } 956 }
955 page_expected = page_found; 957 page_expected = page_found;