Mercurial > hg > graal-compiler
comparison src/os/bsd/vm/perfMemory_bsd.cpp @ 10969:a837fa3d3f86
8013057: assert(_needs_gc || SafepointSynchronize::is_at_safepoint()) failed: only read at safepoint
Summary: Detect mmap() commit failures in Linux and Solaris os::commit_memory() impls and call vm_exit_out_of_memory(). Add os::commit_memory_or_exit(). Also tidy up some NMT accounting and some mmap() return value checking.
Reviewed-by: zgu, stefank, dholmes, dsamersoff
author | dcubed |
---|---|
date | Thu, 13 Jun 2013 11:16:38 -0700 |
parents | 4b7cf00ccb08 |
children | e95fc50106cf |
comparison
equal
deleted
inserted
replaced
10405:f2110083203d | 10969:a837fa3d3f86 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
58 if (mapAddress == NULL) { | 58 if (mapAddress == NULL) { |
59 return NULL; | 59 return NULL; |
60 } | 60 } |
61 | 61 |
62 // commit memory | 62 // commit memory |
63 if (!os::commit_memory(mapAddress, size)) { | 63 if (!os::commit_memory(mapAddress, size, !ExecMem)) { |
64 if (PrintMiscellaneous && Verbose) { | 64 if (PrintMiscellaneous && Verbose) { |
65 warning("Could not commit PerfData memory\n"); | 65 warning("Could not commit PerfData memory\n"); |
66 } | 66 } |
67 os::release_memory(mapAddress, size); | 67 os::release_memory(mapAddress, size); |
68 return NULL; | 68 return NULL; |