1 /* |
1 /* |
2 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. |
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. |
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. |
207 |
207 |
208 // FileMapHeader describes the shared space data in the file to be |
208 // FileMapHeader describes the shared space data in the file to be |
209 // mapped. This structure gets written to a file. It is not a class, |
209 // mapped. This structure gets written to a file. It is not a class, |
210 // so that the compilers don't add any compiler-private data to it. |
210 // so that the compilers don't add any compiler-private data to it. |
211 |
211 |
212 // Refer to CompactingPermGenGen::n_regions in compactingPermGenGen.hpp |
|
213 #define NUM_SHARED_MAPS 4 |
212 #define NUM_SHARED_MAPS 4 |
214 |
213 |
215 // Refer to FileMapInfo::_current_version in filemap.hpp |
214 // Refer to FileMapInfo::_current_version in filemap.hpp |
216 #define CURRENT_ARCHIVE_VERSION 1 |
215 #define CURRENT_ARCHIVE_VERSION 1 |
217 |
216 |
231 // Hotspot on Linux we assume the corresponding C type is char but |
230 // Hotspot on Linux we assume the corresponding C type is char but |
232 // licensees on Linux versions may need to adjust the type of these fields. |
231 // licensees on Linux versions may need to adjust the type of these fields. |
233 char _read_only; // read only space? |
232 char _read_only; // read only space? |
234 char _allow_exec; // executable code in space? |
233 char _allow_exec; // executable code in space? |
235 |
234 |
236 } _space[NUM_SHARED_MAPS]; // was _space[CompactingPermGenGen::n_regions]; |
235 } _space[NUM_SHARED_MAPS]; |
237 |
236 |
238 // Ignore the rest of the FileMapHeader. We don't need those fields here. |
237 // Ignore the rest of the FileMapHeader. We don't need those fields here. |
239 }; |
238 }; |
240 |
239 |
241 static bool read_jboolean(struct ps_prochandle* ph, uintptr_t addr, jboolean* pvalue) { |
240 static bool read_jboolean(struct ps_prochandle* ph, uintptr_t addr, jboolean* pvalue) { |