Mercurial > hg > graal-compiler
comparison src/share/vm/classfile/systemDictionary.hpp @ 10408:836a62f43af9
Merge with http://hg.openjdk.java.net/hsx/hsx25/hotspot/
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Wed, 19 Jun 2013 10:45:56 +0200 |
parents | d552919fbb05 f2110083203d |
children | 9c7d9e2c8326 |
comparison
equal
deleted
inserted
replaced
10086:e0fb8a213650 | 10408:836a62f43af9 |
---|---|
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" | |
34 #include "utilities/hashtable.hpp" | 35 #include "utilities/hashtable.hpp" |
35 #include "utilities/hashtable.inline.hpp" | 36 #include "utilities/hashtable.inline.hpp" |
37 | |
36 | 38 |
37 // The system dictionary stores all loaded classes and maps: | 39 // The system dictionary stores all loaded classes and maps: |
38 // | 40 // |
39 // [class name,class loader] -> class i.e. [Symbol*,oop] -> Klass* | 41 // [class name,class loader] -> class i.e. [Symbol*,oop] -> Klass* |
40 // | 42 // |
361 static void classes_do(void f(Klass*)); | 363 static void classes_do(void f(Klass*)); |
362 // Added for initialize_itable_for_klass to handle exceptions | 364 // Added for initialize_itable_for_klass to handle exceptions |
363 static void classes_do(void f(Klass*, TRAPS), TRAPS); | 365 static void classes_do(void f(Klass*, TRAPS), TRAPS); |
364 // All classes, and their class loaders | 366 // All classes, and their class loaders |
365 static void classes_do(void f(Klass*, ClassLoaderData*)); | 367 static void classes_do(void f(Klass*, ClassLoaderData*)); |
366 // All classes, and their class loaders | 368 |
367 // (added for helpers that use HandleMarks and ResourceMarks) | |
368 static void classes_do(void f(Klass*, ClassLoaderData*, TRAPS), TRAPS); | |
369 // All entries in the placeholder table and their class loaders | |
370 static void placeholders_do(void f(Symbol*)); | 369 static void placeholders_do(void f(Symbol*)); |
371 | 370 |
372 // Iterate over all methods in all klasses in dictionary | 371 // Iterate over all methods in all klasses in dictionary |
373 static void methods_do(void f(Method*)); | 372 static void methods_do(void f(Method*)); |
374 | 373 |
687 static Klass* find_shared_class(Symbol* class_name); | 686 static Klass* find_shared_class(Symbol* class_name); |
688 | 687 |
689 // Setup link to hierarchy | 688 // Setup link to hierarchy |
690 static void add_to_hierarchy(instanceKlassHandle k, TRAPS); | 689 static void add_to_hierarchy(instanceKlassHandle k, TRAPS); |
691 | 690 |
691 // event based tracing | |
692 static void post_class_load_event(TracingTime start_time, instanceKlassHandle k, | |
693 Handle initiating_loader); | |
692 // 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 |
693 // the SystemDictionary_lock. | 695 // the SystemDictionary_lock. |
694 | 696 |
695 // Basic find on loaded classes | 697 // Basic find on loaded classes |
696 static Klass* find_class(int index, unsigned int hash, | 698 static Klass* find_class(int index, unsigned int hash, |