Mercurial > hg > graal-compiler
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; |