comparison src/share/vm/oops/instanceKlass.cpp @ 23893:50e62b688ddc

8150752: Share Class Data Reviewed-by: acorn, hseigel, mschoene
author iklam
date Thu, 24 Mar 2016 21:38:15 -0700
parents 5cece4584b8e
children cb4af293fe70
comparison
equal deleted inserted replaced
23892:bde4021b44f2 23893:50e62b688ddc
1 /* 1 /*
2 * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 2016, 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.
23 */ 23 */
24 24
25 #include "precompiled.hpp" 25 #include "precompiled.hpp"
26 #include "classfile/javaClasses.hpp" 26 #include "classfile/javaClasses.hpp"
27 #include "classfile/systemDictionary.hpp" 27 #include "classfile/systemDictionary.hpp"
28 #include "classfile/systemDictionaryShared.hpp"
28 #include "classfile/verifier.hpp" 29 #include "classfile/verifier.hpp"
29 #include "classfile/vmSymbols.hpp" 30 #include "classfile/vmSymbols.hpp"
30 #include "compiler/compileBroker.hpp" 31 #include "compiler/compileBroker.hpp"
31 #include "gc_implementation/shared/markSweep.inline.hpp" 32 #include "gc_implementation/shared/markSweep.inline.hpp"
32 #include "gc_interface/collectedHeap.inline.hpp" 33 #include "gc_interface/collectedHeap.inline.hpp"
704 return true; 705 return true;
705 } 706 }
706 707
707 // also sets rewritten 708 // also sets rewritten
708 this_oop->rewrite_class(CHECK_false); 709 this_oop->rewrite_class(CHECK_false);
710 } else if (this_oop()->is_shared()) {
711 ResourceMark rm(THREAD);
712 char* message_buffer; // res-allocated by check_verification_dependencies
713 Handle loader = this_oop()->class_loader();
714 Handle pd = this_oop()->protection_domain();
715 bool verified = SystemDictionaryShared::check_verification_dependencies(this_oop(),
716 loader, pd, &message_buffer, THREAD);
717 if (!verified) {
718 THROW_MSG_(vmSymbols::java_lang_VerifyError(), message_buffer, false);
719 }
709 } 720 }
710 721
711 // relocate jsrs and link methods after they are all rewritten 722 // relocate jsrs and link methods after they are all rewritten
712 this_oop->link_methods(CHECK_false); 723 this_oop->link_methods(CHECK_false);
713 724