< prev index next >

src/hotspot/share/classfile/javaClasses.hpp

Print this page
rev 52749 : Bootstrap method consolidation
* clean up and simplify JDK support code for BSM invocation
* simplify JVM bootstrap handshake: use BootstrapCallInfo only
* remove unused JVM paths and data fields
* move bootstrap argument processing from MethodHandleNatives to ConstantPool
* remove ConstantGroup; merge argument access into BootstrapCallInfo
* adjust BSM argument access: remove copyArguments, add argumentRef API
* add metadata-free BSM modes, including symbolic arguments from CP

*** 790,818 **** static void set_module_entry(oop module, ModuleEntry* module_entry); friend class JavaClasses; }; // Interface to jdk.internal.reflect.ConstantPool objects class reflect_ConstantPool { private: // Note that to reduce dependencies on the JDK we compute these // offsets at run-time. ! static int _oop_offset; static void compute_offsets(); public: static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; // Allocation ! static Handle create(TRAPS); // Accessors - static void set_cp(oop reflect, ConstantPool* value); static int oop_offset() { ! return _oop_offset; } static ConstantPool* get_cp(oop reflect); // Debugging --- 790,820 ---- static void set_module_entry(oop module, ModuleEntry* module_entry); friend class JavaClasses; }; + #define CONSTANTPOOL_INJECTED_FIELDS(macro) \ + macro(reflect_ConstantPool, constantPoolOop, object_signature, false) + // Interface to jdk.internal.reflect.ConstantPool objects class reflect_ConstantPool { private: // Note that to reduce dependencies on the JDK we compute these // offsets at run-time. ! static int _constantPoolOop_offset; static void compute_offsets(); public: static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; // Allocation ! static Handle create_from_pool(ConstantPool* value, TRAPS); // Accessors static int oop_offset() { ! return _constantPoolOop_offset; } static ConstantPool* get_cp(oop reflect); // Debugging
*** 1505,1514 **** --- 1507,1517 ---- #define DECLARE_INJECTED_FIELD_ENUM(klass, name, signature, may_be_java) \ klass##_##name##_enum, #define ALL_INJECTED_FIELDS(macro) \ CLASS_INJECTED_FIELDS(macro) \ + CONSTANTPOOL_INJECTED_FIELDS(macro) \ CLASSLOADER_INJECTED_FIELDS(macro) \ RESOLVEDMETHOD_INJECTED_FIELDS(macro) \ MEMBERNAME_INJECTED_FIELDS(macro) \ CALLSITECONTEXT_INJECTED_FIELDS(macro) \ STACKFRAMEINFO_INJECTED_FIELDS(macro) \
< prev index next >