diff -r 4668545121b8 -r 27702f012017 src/os/linux/vm/os_linux.cpp --- a/src/os/linux/vm/os_linux.cpp Fri Sep 02 21:33:57 2011 -0700 +++ b/src/os/linux/vm/os_linux.cpp Tue Sep 06 21:03:51 2011 -0700 @@ -2531,10 +2531,14 @@ } return true; } - return false; - } - - return commit_memory(addr, size, exec); + // Fall through and try to use small pages + } + + if (commit_memory(addr, size, exec)) { + realign_memory(addr, size, alignment_hint); + return true; + } + return false; } void os::realign_memory(char *addr, size_t bytes, size_t alignment_hint) {