Mercurial > hg > graal-compiler
diff src/share/vm/classfile/systemDictionary.cpp @ 14909:4ca6dc0799b6
Backout jdk9 merge
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Tue, 01 Apr 2014 13:57:07 +0200 |
parents | d8041d695d19 |
children | a20be10ad437 |
line wrap: on
line diff
--- a/src/share/vm/classfile/systemDictionary.cpp Tue Apr 01 14:09:03 2014 +0200 +++ b/src/share/vm/classfile/systemDictionary.cpp Tue Apr 01 13:57:07 2014 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -1049,9 +1049,6 @@ add_to_hierarchy(k, CHECK_NULL); // No exception, but can block // But, do not add to system dictionary. - - // compiled code dependencies need to be validated anyway - notice_modification(); } // Rewrite and patch constant pool here. @@ -2650,6 +2647,23 @@ constraints()->verify(dictionary(), placeholders()); } + +void SystemDictionary::verify_obj_klass_present(Symbol* class_name, + ClassLoaderData* loader_data) { + GCMutexLocker mu(SystemDictionary_lock); + Symbol* name; + + Klass* probe = find_class(class_name, loader_data); + if (probe == NULL) { + probe = SystemDictionary::find_shared_class(class_name); + if (probe == NULL) { + name = find_placeholder(class_name, loader_data); + } + } + guarantee(probe != NULL || name != NULL, + "Loaded klasses should be in SystemDictionary"); +} + // utility function for class load event void SystemDictionary::post_class_load_event(const Ticks& start_time, instanceKlassHandle k,