Mercurial > hg > graal-jvmci-8
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 |