1990 }
1991
1992 bool os::numa_topology_changed() { return false; }
1993
1994 size_t os::numa_get_groups_num() {
1995 return 1;
1996 }
1997
1998 int os::numa_get_group_id() {
1999 return 0;
2000 }
2001
2002 size_t os::numa_get_leaf_groups(int *ids, size_t size) {
2003 if (size > 0) {
2004 ids[0] = 0;
2005 return 1;
2006 }
2007 return 0;
2008 }
2009
2010 bool os::get_page_info(char *start, page_info* info) {
2011 return false;
2012 }
2013
2014 char *os::scan_pages(char *start, char* end, page_info* page_expected, page_info* page_found) {
2015 return end;
2016 }
2017
2018
2019 bool os::pd_uncommit_memory(char* addr, size_t size) {
2020 #ifdef __OpenBSD__
2021 // XXX: Work-around mmap/MAP_FIXED bug temporarily on OpenBSD
2022 Events::log(NULL, "Protecting memory [" INTPTR_FORMAT "," INTPTR_FORMAT "] with PROT_NONE", p2i(addr), p2i(addr+size));
2023 return ::mprotect(addr, size, PROT_NONE) == 0;
2024 #else
2025 uintptr_t res = (uintptr_t) ::mmap(addr, size, PROT_NONE,
2026 MAP_PRIVATE|MAP_FIXED|MAP_NORESERVE|MAP_ANONYMOUS, -1, 0);
2027 return res != (uintptr_t) MAP_FAILED;
2028 #endif
2029 }
|
1990 }
1991
1992 bool os::numa_topology_changed() { return false; }
1993
1994 size_t os::numa_get_groups_num() {
1995 return 1;
1996 }
1997
1998 int os::numa_get_group_id() {
1999 return 0;
2000 }
2001
2002 size_t os::numa_get_leaf_groups(int *ids, size_t size) {
2003 if (size > 0) {
2004 ids[0] = 0;
2005 return 1;
2006 }
2007 return 0;
2008 }
2009
2010 int os::numa_get_address_id(void* address) {
2011 return 0;
2012 }
2013
2014 bool os::get_page_info(char *start, page_info* info) {
2015 return false;
2016 }
2017
2018 char *os::scan_pages(char *start, char* end, page_info* page_expected, page_info* page_found) {
2019 return end;
2020 }
2021
2022
2023 bool os::pd_uncommit_memory(char* addr, size_t size) {
2024 #ifdef __OpenBSD__
2025 // XXX: Work-around mmap/MAP_FIXED bug temporarily on OpenBSD
2026 Events::log(NULL, "Protecting memory [" INTPTR_FORMAT "," INTPTR_FORMAT "] with PROT_NONE", p2i(addr), p2i(addr+size));
2027 return ::mprotect(addr, size, PROT_NONE) == 0;
2028 #else
2029 uintptr_t res = (uintptr_t) ::mmap(addr, size, PROT_NONE,
2030 MAP_PRIVATE|MAP_FIXED|MAP_NORESERVE|MAP_ANONYMOUS, -1, 0);
2031 return res != (uintptr_t) MAP_FAILED;
2032 #endif
2033 }
|