Print this page
rev 4525 : 8014611: reserve_and_align() assumptions are invalid on windows
Summary: also reviewed by ron.durbin@oracle.com, thomas.schatzl@oracle.com
Reviewed-by: dcubed, brutisso

Split Split Close
Expand all
Collapse all
          --- old/src/share/vm/runtime/os.hpp
          +++ new/src/share/vm/runtime/os.hpp
↓ open down ↓ 258 lines elided ↑ open up ↑
 259  259                                 size_t alignment_hint, MEMFLAGS flags);
 260  260    static char*  reserve_memory_aligned(size_t size, size_t alignment);
 261  261    static char*  attempt_reserve_memory_at(size_t bytes, char* addr);
 262  262    static void   split_reserved_memory(char *base, size_t size,
 263  263                                        size_t split, bool realloc);
 264  264    static bool   commit_memory(char* addr, size_t bytes, bool executable = false);
 265  265    static bool   commit_memory(char* addr, size_t size, size_t alignment_hint,
 266  266                                bool executable = false);
 267  267    static bool   uncommit_memory(char* addr, size_t bytes);
 268  268    static bool   release_memory(char* addr, size_t bytes);
      269 +  static bool   can_release_partial_region();
      270 +  static bool   release_or_uncommit_partial_region(char* addr, size_t bytes);
 269  271  
 270  272    enum ProtType { MEM_PROT_NONE, MEM_PROT_READ, MEM_PROT_RW, MEM_PROT_RWX };
 271  273    static bool   protect_memory(char* addr, size_t bytes, ProtType prot,
 272  274                                 bool is_committed = true);
 273  275  
 274  276    static bool   guard_memory(char* addr, size_t bytes);
 275  277    static bool   unguard_memory(char* addr, size_t bytes);
 276  278    static bool   create_stack_guard_pages(char* addr, size_t bytes);
 277  279    static bool   pd_create_stack_guard_pages(char* addr, size_t bytes);
 278  280    static bool   remove_stack_guard_pages(char* addr, size_t bytes);
↓ open down ↓ 635 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX