1 /*
2 * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
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
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
133 size_t capacity, bool read_only, bool allow_exec);
134 void write_bytes(const void* buffer, int count);
135 void write_bytes_aligned(const void* buffer, int count);
136 char* map_region(int i);
137 void unmap_region(int i);
138 void close();
139 bool is_open() { return _file_open; }
140 ReservedSpace reserve_shared_memory();
141
142 // JVM/TI RedefineClasses() support:
143 // Remap the shared readonly space to shared readwrite, private.
144 bool remap_shared_readonly_as_readwrite();
145
146 // Errors.
147 static void fail_stop(const char *msg, ...);
148 void fail_continue(const char *msg, ...);
149
150 // Return true if given address is in the mapped shared space.
151 bool is_in_shared_space(const void* p) NOT_CDS_RETURN_(false);
152 void print_shared_spaces() NOT_CDS_RETURN;
153 };
154
155 #endif // SHARE_VM_MEMORY_FILEMAP_HPP
|
1 /*
2 * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
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
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
133 size_t capacity, bool read_only, bool allow_exec);
134 void write_bytes(const void* buffer, int count);
135 void write_bytes_aligned(const void* buffer, int count);
136 char* map_region(int i);
137 void unmap_region(int i);
138 void close();
139 bool is_open() { return _file_open; }
140 ReservedSpace reserve_shared_memory();
141
142 // JVM/TI RedefineClasses() support:
143 // Remap the shared readonly space to shared readwrite, private.
144 bool remap_shared_readonly_as_readwrite();
145
146 // Errors.
147 static void fail_stop(const char *msg, ...);
148 void fail_continue(const char *msg, ...);
149
150 // Return true if given address is in the mapped shared space.
151 bool is_in_shared_space(const void* p) NOT_CDS_RETURN_(false);
152 void print_shared_spaces() NOT_CDS_RETURN;
153
154 static size_t shared_spaces_size() {
155 return align_size_up(SharedReadOnlySize + SharedReadWriteSize +
156 SharedMiscDataSize + SharedMiscCodeSize,
157 os::vm_allocation_granularity());
158 }
159
160 // Stop CDS sharing and unmap CDS regions.
161 static void stop_sharing_and_unmap(const char* msg);
162 };
163
164 #endif // SHARE_VM_MEMORY_FILEMAP_HPP
|