Path: blob/aarch64-shenandoah-jdk8u272-b10/hotspot/src/share/vm/classfile/systemDictionaryShared.hpp
32285 views
/*1* Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation.7*8* This code is distributed in the hope that it will be useful, but WITHOUT9* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or10* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License11* version 2 for more details (a copy is included in the LICENSE file that12* accompanied this code).13*14* You should have received a copy of the GNU General Public License version15* 2 along with this work; if not, write to the Free Software Foundation,16* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.17*18* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA19* or visit www.oracle.com if you need additional information or have any20* questions.21*22*/232425#ifndef SHARE_VM_CLASSFILE_SYSTEMDICTIONARYSHARED_HPP26#define SHARE_VM_CLASSFILE_SYSTEMDICTIONARYSHARED_HPP2728#include "classfile/dictionary.hpp"29#include "classfile/systemDictionary.hpp"3031class SystemDictionaryShared: public SystemDictionary {32public:33static void initialize(TRAPS) {}34static instanceKlassHandle find_or_load_shared_class(Symbol* class_name,35Handle class_loader,36TRAPS) {37return instanceKlassHandle();38}39static void roots_oops_do(OopClosure* blk) {}40static void oops_do(OopClosure* f) {}41static bool is_sharing_possible(ClassLoaderData* loader_data) {42oop class_loader = loader_data->class_loader();43return (class_loader == NULL);44}4546static size_t dictionary_entry_size() {47return sizeof(DictionaryEntry);48}49static void init_shared_dictionary_entry(Klass* k, DictionaryEntry* entry) {}5051// The (non-application) CDS implementation supports only classes in the boot52// class loader, which ensures that the verification dependencies are the same53// during archive creation time and runtime. Thus we can do the dependency checks54// entirely during archive creation time.55static void add_verification_dependency(Klass* k, Symbol* accessor_clsname,56Symbol* target_clsname) {}57static void finalize_verification_dependencies() {}58static bool check_verification_dependencies(Klass* k, Handle class_loader,59Handle protection_domain,60char** message_buffer, TRAPS) {return true;}61};6263#endif // SHARE_VM_CLASSFILE_SYSTEMDICTIONARYSHARED_HPP646566