equal
deleted
inserted
replaced
72 // Note that placeholders are deleted at any time, as they are removed |
72 // Note that placeholders are deleted at any time, as they are removed |
73 // when a class is completely loaded. Therefore, readers as well as writers |
73 // when a class is completely loaded. Therefore, readers as well as writers |
74 // of placeholders must hold the SystemDictionary_lock. |
74 // of placeholders must hold the SystemDictionary_lock. |
75 // |
75 // |
76 |
76 |
|
77 class BootstrapInfo; |
77 class ClassFileStream; |
78 class ClassFileStream; |
78 class Dictionary; |
79 class Dictionary; |
79 class PlaceholderTable; |
80 class PlaceholderTable; |
80 class LoaderConstraintTable; |
81 class LoaderConstraintTable; |
81 template <MEMFLAGS F> class HashtableBucket; |
82 template <MEMFLAGS F> class HashtableBucket; |
219 \ |
220 \ |
220 /*end*/ |
221 /*end*/ |
221 |
222 |
222 |
223 |
223 class SystemDictionary : AllStatic { |
224 class SystemDictionary : AllStatic { |
|
225 friend class BootstrapInfo; |
224 friend class VMStructs; |
226 friend class VMStructs; |
225 friend class SystemDictionaryHandles; |
227 friend class SystemDictionaryHandles; |
226 |
228 |
227 public: |
229 public: |
228 enum WKID { |
230 enum WKID { |
529 Symbol* name, |
531 Symbol* name, |
530 Symbol* signature, |
532 Symbol* signature, |
531 TRAPS); |
533 TRAPS); |
532 |
534 |
533 // ask Java to compute a constant by invoking a BSM given a Dynamic_info CP entry |
535 // ask Java to compute a constant by invoking a BSM given a Dynamic_info CP entry |
534 static Handle link_dynamic_constant(Klass* caller, |
536 static void invoke_bootstrap_method(BootstrapInfo& bootstrap_specifier, TRAPS); |
535 int condy_index, |
|
536 Handle bootstrap_specifier, |
|
537 Symbol* name, |
|
538 Symbol* type, |
|
539 TRAPS); |
|
540 |
|
541 // ask Java to create a dynamic call site, while linking an invokedynamic op |
|
542 static methodHandle find_dynamic_call_site_invoker(Klass* caller, |
|
543 int indy_index, |
|
544 Handle bootstrap_method, |
|
545 Symbol* name, |
|
546 Symbol* type, |
|
547 Handle *appendix_result, |
|
548 TRAPS); |
|
549 |
537 |
550 // Record the error when the first attempt to resolve a reference from a constant |
538 // Record the error when the first attempt to resolve a reference from a constant |
551 // pool entry to a class fails. |
539 // pool entry to a class fails. |
552 static void add_resolution_error(const constantPoolHandle& pool, int which, Symbol* error, |
540 static void add_resolution_error(const constantPoolHandle& pool, int which, Symbol* error, |
553 Symbol* message); |
541 Symbol* message); |