src/share/vm/runtime/os.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hsx-rt.8007074 Sdiff src/share/vm/runtime

src/share/vm/runtime/os.hpp

Print this page




 311   // NUMA-specific interface
 312   static bool   numa_has_static_binding();
 313   static bool   numa_has_group_homing();
 314   static void   numa_make_local(char *addr, size_t bytes, int lgrp_hint);
 315   static void   numa_make_global(char *addr, size_t bytes);
 316   static size_t numa_get_groups_num();
 317   static size_t numa_get_leaf_groups(int *ids, size_t size);
 318   static bool   numa_topology_changed();
 319   static int    numa_get_group_id();
 320 
 321   // Page manipulation
 322   struct page_info {
 323     size_t size;
 324     int lgrp_id;
 325   };
 326   static bool   get_page_info(char *start, page_info* info);
 327   static char*  scan_pages(char *start, char* end, page_info* page_expected, page_info* page_found);
 328 
 329   static char*  non_memory_address_word();
 330   // reserve, commit and pin the entire memory region
 331   static char*  reserve_memory_special(size_t size, char* addr = NULL,
 332                 bool executable = false);
 333   static bool   release_memory_special(char* addr, size_t bytes);
 334   static void   large_page_init();
 335   static size_t large_page_size();
 336   static bool   can_commit_large_page_memory();
 337   static bool   can_execute_large_page_memory();
 338 
 339   // OS interface to polling page
 340   static address get_polling_page()             { return _polling_page; }
 341   static void    set_polling_page(address page) { _polling_page = page; }
 342   static bool    is_poll_address(address addr)  { return addr >= _polling_page && addr < (_polling_page + os::vm_page_size()); }
 343   static void    make_polling_page_unreadable();
 344   static void    make_polling_page_readable();
 345 
 346   // Routines used to serialize the thread state without using membars
 347   static void    serialize_thread_states();
 348 
 349   // Since we write to the serialize page from every thread, we
 350   // want stores to be on unique cache lines whenever possible
 351   // in order to minimize CPU cross talk.  We pre-compute the
 352   // amount to shift the thread* to make this offset unique to




 311   // NUMA-specific interface
 312   static bool   numa_has_static_binding();
 313   static bool   numa_has_group_homing();
 314   static void   numa_make_local(char *addr, size_t bytes, int lgrp_hint);
 315   static void   numa_make_global(char *addr, size_t bytes);
 316   static size_t numa_get_groups_num();
 317   static size_t numa_get_leaf_groups(int *ids, size_t size);
 318   static bool   numa_topology_changed();
 319   static int    numa_get_group_id();
 320 
 321   // Page manipulation
 322   struct page_info {
 323     size_t size;
 324     int lgrp_id;
 325   };
 326   static bool   get_page_info(char *start, page_info* info);
 327   static char*  scan_pages(char *start, char* end, page_info* page_expected, page_info* page_found);
 328 
 329   static char*  non_memory_address_word();
 330   // reserve, commit and pin the entire memory region
 331   static char*  reserve_memory_special(size_t size, size_t alignment, char* addr, bool executable);

 332   static bool   release_memory_special(char* addr, size_t bytes);
 333   static void   large_page_init();
 334   static size_t large_page_size();
 335   static bool   can_commit_large_page_memory();
 336   static bool   can_execute_large_page_memory();
 337 
 338   // OS interface to polling page
 339   static address get_polling_page()             { return _polling_page; }
 340   static void    set_polling_page(address page) { _polling_page = page; }
 341   static bool    is_poll_address(address addr)  { return addr >= _polling_page && addr < (_polling_page + os::vm_page_size()); }
 342   static void    make_polling_page_unreadable();
 343   static void    make_polling_page_readable();
 344 
 345   // Routines used to serialize the thread state without using membars
 346   static void    serialize_thread_states();
 347 
 348   // Since we write to the serialize page from every thread, we
 349   // want stores to be on unique cache lines whenever possible
 350   // in order to minimize CPU cross talk.  We pre-compute the
 351   // amount to shift the thread* to make this offset unique to


src/share/vm/runtime/os.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File