< prev index next >
src/hotspot/share/runtime/os.cpp
Print this page
rev 54422 : 8221833: Readability check in Symbol::is_valid not performed for some addresses
Reviewed-by: zgu, coleenp
*** 1022,1033 ****
int deadbeef = 0xdeadbeef; // tester value 2
return (SafeFetch32(aligned, cafebabe) != cafebabe) || (SafeFetch32(aligned, deadbeef) != deadbeef);
}
bool os::is_readable_range(const void* from, const void* to) {
! for (address p = align_down((address)from, min_page_size()); p < to; p += min_page_size()) {
! if (!is_readable_pointer(p)) {
return false;
}
}
return true;
}
--- 1022,1034 ----
int deadbeef = 0xdeadbeef; // tester value 2
return (SafeFetch32(aligned, cafebabe) != cafebabe) || (SafeFetch32(aligned, deadbeef) != deadbeef);
}
bool os::is_readable_range(const void* from, const void* to) {
! if ((uintptr_t)from >= (uintptr_t)to) return false;
! for (uintptr_t p = align_down((uintptr_t)from, min_page_size()); p < (uintptr_t)to; p += min_page_size()) {
! if (!is_readable_pointer((const void*)p)) {
return false;
}
}
return true;
}
< prev index next >