Print this page
rev 4499 : 8013120: NMT: Kitchensink crashes with assert(next_region == NULL || !next_region->is_committed_region()) failed: Sanity check
Summary: Fixed NMT to deal with releasing virtual memory region when there are still committed regions within it
Reviewed-by: acorn, coleenp

Split Split Close
Expand all
Collapse all
          --- old/src/share/vm/runtime/os.hpp
          +++ new/src/share/vm/runtime/os.hpp
↓ open down ↓ 247 lines elided ↑ open up ↑
 248  248                                 int count) PRODUCT_RETURN;
 249  249    static void trace_page_sizes(const char* str, const size_t region_min_size,
 250  250                                 const size_t region_max_size,
 251  251                                 const size_t page_size,
 252  252                                 const char* base = NULL,
 253  253                                 const size_t size = 0) PRODUCT_RETURN;
 254  254  
 255  255    static int    vm_allocation_granularity();
 256  256    static char*  reserve_memory(size_t bytes, char* addr = 0,
 257  257                                 size_t alignment_hint = 0);
      258 +  static char*  reserve_memory(size_t bytes, char* addr,
      259 +                               size_t alignment_hint, MEMFLAGS flags);
 258  260    static char*  reserve_memory_aligned(size_t size, size_t alignment);
 259  261    static char*  attempt_reserve_memory_at(size_t bytes, char* addr);
 260  262    static void   split_reserved_memory(char *base, size_t size,
 261  263                                        size_t split, bool realloc);
 262  264    static bool   commit_memory(char* addr, size_t bytes, bool executable = false);
 263  265    static bool   commit_memory(char* addr, size_t size, size_t alignment_hint,
 264  266                                bool executable = false);
 265  267    static bool   uncommit_memory(char* addr, size_t bytes);
 266  268    static bool   release_memory(char* addr, size_t bytes);
 267  269  
↓ open down ↓ 644 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX