Mercurial > hg > graal-jvmci-8
comparison src/share/vm/classfile/systemDictionary.hpp @ 13451:02f27ecb4f3a
Merge with http://hg.openjdk.java.net/hsx/hsx25/hotspot/
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Wed, 18 Dec 2013 00:00:24 +0100 |
parents | dfb780080923 2315fab779ca |
children | 4e679d50ba9a |
comparison
equal
deleted
inserted
replaced
13371:4db09b7304da | 13451:02f27ecb4f3a |
---|---|
29 #include "classfile/classLoader.hpp" | 29 #include "classfile/classLoader.hpp" |
30 #include "oops/objArrayOop.hpp" | 30 #include "oops/objArrayOop.hpp" |
31 #include "oops/symbol.hpp" | 31 #include "oops/symbol.hpp" |
32 #include "runtime/java.hpp" | 32 #include "runtime/java.hpp" |
33 #include "runtime/reflectionUtils.hpp" | 33 #include "runtime/reflectionUtils.hpp" |
34 #include "trace/traceTime.hpp" | |
35 #include "utilities/hashtable.hpp" | 34 #include "utilities/hashtable.hpp" |
36 #include "utilities/hashtable.inline.hpp" | 35 #include "utilities/hashtable.inline.hpp" |
37 | 36 |
38 | 37 |
39 // The system dictionary stores all loaded classes and maps: | 38 // The system dictionary stores all loaded classes and maps: |
76 class PlaceholderTable; | 75 class PlaceholderTable; |
77 class LoaderConstraintTable; | 76 class LoaderConstraintTable; |
78 template <MEMFLAGS F> class HashtableBucket; | 77 template <MEMFLAGS F> class HashtableBucket; |
79 class ResolutionErrorTable; | 78 class ResolutionErrorTable; |
80 class SymbolPropertyTable; | 79 class SymbolPropertyTable; |
80 class Ticks; | |
81 | 81 |
82 // Certain classes are preloaded, such as java.lang.Object and java.lang.String. | 82 // Certain classes are preloaded, such as java.lang.Object and java.lang.String. |
83 // They are all "well-known", in the sense that no class loader is allowed | 83 // They are all "well-known", in the sense that no class loader is allowed |
84 // to provide a different definition. | 84 // to provide a different definition. |
85 // | 85 // |
139 do_klass(reflect_Constructor_klass, java_lang_reflect_Constructor, Pre ) \ | 139 do_klass(reflect_Constructor_klass, java_lang_reflect_Constructor, Pre ) \ |
140 \ | 140 \ |
141 /* NOTE: needed too early in bootstrapping process to have checks based on JDK version */ \ | 141 /* NOTE: needed too early in bootstrapping process to have checks based on JDK version */ \ |
142 /* Universe::is_gte_jdk14x_version() is not set up by this point. */ \ | 142 /* Universe::is_gte_jdk14x_version() is not set up by this point. */ \ |
143 /* It's okay if this turns out to be NULL in non-1.4 JDKs. */ \ | 143 /* It's okay if this turns out to be NULL in non-1.4 JDKs. */ \ |
144 do_klass(lambda_MagicLambdaImpl_klass, java_lang_invoke_MagicLambdaImpl, Opt ) \ | |
145 do_klass(reflect_MagicAccessorImpl_klass, sun_reflect_MagicAccessorImpl, Opt ) \ | 144 do_klass(reflect_MagicAccessorImpl_klass, sun_reflect_MagicAccessorImpl, Opt ) \ |
146 do_klass(reflect_MethodAccessorImpl_klass, sun_reflect_MethodAccessorImpl, Opt_Only_JDK14NewRef) \ | 145 do_klass(reflect_MethodAccessorImpl_klass, sun_reflect_MethodAccessorImpl, Opt_Only_JDK14NewRef) \ |
147 do_klass(reflect_ConstructorAccessorImpl_klass, sun_reflect_ConstructorAccessorImpl, Opt_Only_JDK14NewRef) \ | 146 do_klass(reflect_ConstructorAccessorImpl_klass, sun_reflect_ConstructorAccessorImpl, Opt_Only_JDK14NewRef) \ |
148 do_klass(reflect_DelegatingClassLoader_klass, sun_reflect_DelegatingClassLoader, Opt ) \ | 147 do_klass(reflect_DelegatingClassLoader_klass, sun_reflect_DelegatingClassLoader, Opt ) \ |
149 do_klass(reflect_ConstantPool_klass, sun_reflect_ConstantPool, Opt_Only_JDK15 ) \ | 148 do_klass(reflect_ConstantPool_klass, sun_reflect_ConstantPool, Opt_Only_JDK15 ) \ |
164 do_klass(VolatileCallSite_klass, java_lang_invoke_VolatileCallSite, Pre_JSR292 ) \ | 163 do_klass(VolatileCallSite_klass, java_lang_invoke_VolatileCallSite, Pre_JSR292 ) \ |
165 /* Note: MethodHandle must be first, and VolatileCallSite last in group */ \ | 164 /* Note: MethodHandle must be first, and VolatileCallSite last in group */ \ |
166 \ | 165 \ |
167 do_klass(StringBuffer_klass, java_lang_StringBuffer, Pre ) \ | 166 do_klass(StringBuffer_klass, java_lang_StringBuffer, Pre ) \ |
168 do_klass(StringBuilder_klass, java_lang_StringBuilder, Pre ) \ | 167 do_klass(StringBuilder_klass, java_lang_StringBuilder, Pre ) \ |
168 do_klass(misc_Unsafe_klass, sun_misc_Unsafe, Pre ) \ | |
169 \ | 169 \ |
170 /* It's NULL in non-1.4 JDKs. */ \ | 170 /* It's NULL in non-1.4 JDKs. */ \ |
171 do_klass(StackTraceElement_klass, java_lang_StackTraceElement, Opt ) \ | 171 do_klass(StackTraceElement_klass, java_lang_StackTraceElement, Opt ) \ |
172 /* Universe::is_gte_jdk14x_version() is not set up by this point. */ \ | 172 /* Universe::is_gte_jdk14x_version() is not set up by this point. */ \ |
173 /* It's okay if this turns out to be NULL in non-1.4 JDKs. */ \ | 173 /* It's okay if this turns out to be NULL in non-1.4 JDKs. */ \ |
687 | 687 |
688 // Setup link to hierarchy | 688 // Setup link to hierarchy |
689 static void add_to_hierarchy(instanceKlassHandle k, TRAPS); | 689 static void add_to_hierarchy(instanceKlassHandle k, TRAPS); |
690 | 690 |
691 // event based tracing | 691 // event based tracing |
692 static void post_class_load_event(TracingTime start_time, instanceKlassHandle k, | 692 static void post_class_load_event(const Ticks& start_time, instanceKlassHandle k, |
693 Handle initiating_loader); | 693 Handle initiating_loader); |
694 // We pass in the hashtable index so we can calculate it outside of | 694 // We pass in the hashtable index so we can calculate it outside of |
695 // the SystemDictionary_lock. | 695 // the SystemDictionary_lock. |
696 | 696 |
697 // Basic find on loaded classes | 697 // Basic find on loaded classes |