Mercurial > hg > graal-jvmci-8
comparison src/os/solaris/vm/os_solaris.cpp @ 1320:3b3d12e645e7
6929067: Stack guard pages should be removed when thread is detached
Summary: Add code to unmap stack guard area when thread is detached.
Reviewed-by: coleenp, kamg
author | coleenp |
---|---|
date | Fri, 12 Mar 2010 10:42:16 -0500 |
parents | 167c2986d91b |
children | a2ea687fdc7c |
comparison
equal
deleted
inserted
replaced
1292:12d91eb0f579 | 1320:3b3d12e645e7 |
---|---|
2694 void os::free_memory(char* addr, size_t bytes) { | 2694 void os::free_memory(char* addr, size_t bytes) { |
2695 if (madvise(addr, bytes, MADV_FREE) < 0) { | 2695 if (madvise(addr, bytes, MADV_FREE) < 0) { |
2696 debug_only(warning("MADV_FREE failed.")); | 2696 debug_only(warning("MADV_FREE failed.")); |
2697 return; | 2697 return; |
2698 } | 2698 } |
2699 } | |
2700 | |
2701 bool os::create_stack_guard_pages(char* addr, size_t size) { | |
2702 return os::commit_memory(addr, size); | |
2703 } | |
2704 | |
2705 bool os::remove_stack_guard_pages(char* addr, size_t size) { | |
2706 return os::uncommit_memory(addr, size); | |
2699 } | 2707 } |
2700 | 2708 |
2701 // Change the page size in a given range. | 2709 // Change the page size in a given range. |
2702 void os::realign_memory(char *addr, size_t bytes, size_t alignment_hint) { | 2710 void os::realign_memory(char *addr, size_t bytes, size_t alignment_hint) { |
2703 assert((intptr_t)addr % alignment_hint == 0, "Address should be aligned."); | 2711 assert((intptr_t)addr % alignment_hint == 0, "Address should be aligned."); |