mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
8218994: Consolidate indy and condy JVM information within a BootstrapInfo data structure
Introduce BootstrapInfo data structure and merge invocation of a bootstrap method for condy and indy into invoke_bootstrap_method. Co-authored-by: John Rose <john.r.rose@oracle.com> Reviewed-by: acorn, coleenp
This commit is contained in:
parent
fd3378a73e
commit
57aaf7a8cd
8 changed files with 534 additions and 325 deletions
|
@ -74,6 +74,7 @@
|
|||
// of placeholders must hold the SystemDictionary_lock.
|
||||
//
|
||||
|
||||
class BootstrapInfo;
|
||||
class ClassFileStream;
|
||||
class Dictionary;
|
||||
class PlaceholderTable;
|
||||
|
@ -221,6 +222,7 @@ class OopStorage;
|
|||
|
||||
|
||||
class SystemDictionary : AllStatic {
|
||||
friend class BootstrapInfo;
|
||||
friend class VMStructs;
|
||||
friend class SystemDictionaryHandles;
|
||||
|
||||
|
@ -531,21 +533,7 @@ public:
|
|||
TRAPS);
|
||||
|
||||
// ask Java to compute a constant by invoking a BSM given a Dynamic_info CP entry
|
||||
static Handle link_dynamic_constant(Klass* caller,
|
||||
int condy_index,
|
||||
Handle bootstrap_specifier,
|
||||
Symbol* name,
|
||||
Symbol* type,
|
||||
TRAPS);
|
||||
|
||||
// ask Java to create a dynamic call site, while linking an invokedynamic op
|
||||
static methodHandle find_dynamic_call_site_invoker(Klass* caller,
|
||||
int indy_index,
|
||||
Handle bootstrap_method,
|
||||
Symbol* name,
|
||||
Symbol* type,
|
||||
Handle *appendix_result,
|
||||
TRAPS);
|
||||
static void invoke_bootstrap_method(BootstrapInfo& bootstrap_specifier, TRAPS);
|
||||
|
||||
// Record the error when the first attempt to resolve a reference from a constant
|
||||
// pool entry to a class fails.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue