equal
deleted
inserted
replaced
2593 |
2593 |
2594 bool os::can_execute_large_page_memory() { |
2594 bool os::can_execute_large_page_memory() { |
2595 return true; |
2595 return true; |
2596 } |
2596 } |
2597 |
2597 |
2598 char* os::reserve_memory_special(size_t bytes) { |
2598 char* os::reserve_memory_special(size_t bytes, char* addr) { |
2599 |
2599 |
2600 if (UseLargePagesIndividualAllocation) { |
2600 if (UseLargePagesIndividualAllocation) { |
2601 if (TracePageSizes && Verbose) { |
2601 if (TracePageSizes && Verbose) { |
2602 tty->print_cr("Reserving large pages individually."); |
2602 tty->print_cr("Reserving large pages individually."); |
2603 } |
2603 } |
2613 // Overflowed. |
2613 // Overflowed. |
2614 warning("Individually allocated large pages failed, " |
2614 warning("Individually allocated large pages failed, " |
2615 "use -XX:-UseLargePagesIndividualAllocation to turn off"); |
2615 "use -XX:-UseLargePagesIndividualAllocation to turn off"); |
2616 return NULL; |
2616 return NULL; |
2617 } |
2617 } |
2618 p_buf = (char *) VirtualAlloc(NULL, |
2618 p_buf = (char *) VirtualAlloc(addr, |
2619 size_of_reserve, // size of Reserve |
2619 size_of_reserve, // size of Reserve |
2620 MEM_RESERVE, |
2620 MEM_RESERVE, |
2621 PAGE_EXECUTE_READWRITE); |
2621 PAGE_EXECUTE_READWRITE); |
2622 // If reservation failed, return NULL |
2622 // If reservation failed, return NULL |
2623 if (p_buf == NULL) return NULL; |
2623 if (p_buf == NULL) return NULL; |