src/share/vm/classfile/sharedClassUtil.hpp

Thu, 12 Oct 2017 21:27:07 +0800

author
aoqi
date
Thu, 12 Oct 2017 21:27:07 +0800
changeset 7535
7ae4e26cb1e0
parent 7089
6e0cb14ce59b
permissions
-rw-r--r--

merge

iklam@7089 1 /*
iklam@7089 2 * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
iklam@7089 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
iklam@7089 4 *
iklam@7089 5 * This code is free software; you can redistribute it and/or modify it
iklam@7089 6 * under the terms of the GNU General Public License version 2 only, as
iklam@7089 7 * published by the Free Software Foundation.
iklam@7089 8 *
iklam@7089 9 * This code is distributed in the hope that it will be useful, but WITHOUT
iklam@7089 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
iklam@7089 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
iklam@7089 12 * version 2 for more details (a copy is included in the LICENSE file that
iklam@7089 13 * accompanied this code).
iklam@7089 14 *
iklam@7089 15 * You should have received a copy of the GNU General Public License version
iklam@7089 16 * 2 along with this work; if not, write to the Free Software Foundation,
iklam@7089 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
iklam@7089 18 *
iklam@7089 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
iklam@7089 20 * or visit www.oracle.com if you need additional information or have any
iklam@7089 21 * questions.
iklam@7089 22 *
iklam@7089 23 */
iklam@7089 24
iklam@7089 25 #ifndef SHARE_VM_CLASSFILE_SHAREDCLASSUTIL_HPP
iklam@7089 26 #define SHARE_VM_CLASSFILE_SHAREDCLASSUTIL_HPP
iklam@7089 27
iklam@7089 28 #include "classfile/sharedPathsMiscInfo.hpp"
iklam@7089 29 #include "memory/filemap.hpp"
iklam@7089 30
iklam@7089 31 class SharedClassUtil : AllStatic {
iklam@7089 32 public:
iklam@7089 33
iklam@7089 34 static SharedPathsMiscInfo* allocate_shared_paths_misc_info() {
iklam@7089 35 return new SharedPathsMiscInfo();
iklam@7089 36 }
iklam@7089 37
iklam@7089 38 static SharedPathsMiscInfo* allocate_shared_paths_misc_info(char* buf, int size) {
iklam@7089 39 return new SharedPathsMiscInfo(buf, size);
iklam@7089 40 }
iklam@7089 41
iklam@7089 42 static FileMapInfo::FileMapHeader* allocate_file_map_header() {
iklam@7089 43 return new FileMapInfo::FileMapHeader();
iklam@7089 44 }
iklam@7089 45
iklam@7089 46 static size_t file_map_header_size() {
iklam@7089 47 return sizeof(FileMapInfo::FileMapHeader);
iklam@7089 48 }
iklam@7089 49
iklam@7089 50 static size_t shared_class_path_entry_size() {
iklam@7089 51 return sizeof(SharedClassPathEntry);
iklam@7089 52 }
iklam@7089 53
iklam@7089 54 static void update_shared_classpath(ClassPathEntry *cpe,
iklam@7089 55 SharedClassPathEntry* ent,
iklam@7089 56 time_t timestamp,
iklam@7089 57 long filesize, TRAPS) {
iklam@7089 58 ent->_timestamp = timestamp;
iklam@7089 59 ent->_filesize = filesize;
iklam@7089 60 }
iklam@7089 61
iklam@7089 62 static void initialize(TRAPS) {}
iklam@7089 63
iklam@7089 64 inline static bool is_shared_boot_class(Klass* klass) {
iklam@7089 65 return (klass->_shared_class_path_index >= 0);
iklam@7089 66 }
iklam@7089 67 };
iklam@7089 68
iklam@7089 69 #endif // SHARE_VM_CLASSFILE_SHAREDCLASSUTIL_HPP

mercurial