< prev index next >

src/share/vm/jvmci/jvmciEnv.hpp

Print this page

        

*** 77,100 **** // Return an unloaded klass if !require_local and no class at all is found. // // The CI treats a klass as loaded if it is consistently defined in // another loader, even if it hasn't yet been loaded in all loaders // that could potentially see it via delegation. ! static KlassHandle get_klass_by_name(KlassHandle accessing_klass, ! Symbol* klass_name, ! bool require_local); // Constant pool access. ! static KlassHandle get_klass_by_index(const constantPoolHandle& cpool, int klass_index, bool& is_accessible, ! KlassHandle loading_klass); ! static void get_field_by_index(instanceKlassHandle loading_klass, fieldDescriptor& fd, int field_index); static methodHandle get_method_by_index(const constantPoolHandle& cpool, int method_index, Bytecodes::Code bc, ! instanceKlassHandle loading_klass); JVMCIEnv(CompileTask* task, int system_dictionary_modification_counter); private: CompileTask* _task; --- 77,98 ---- // Return an unloaded klass if !require_local and no class at all is found. // // The CI treats a klass as loaded if it is consistently defined in // another loader, even if it hasn't yet been loaded in all loaders // that could potentially see it via delegation. ! static Klass* get_klass_by_name(Klass* accessing_klass, Symbol* klass_name, bool require_local); // Constant pool access. ! static Klass* get_klass_by_index(const constantPoolHandle& cpool, int klass_index, bool& is_accessible, ! Klass* loading_klass); ! static void get_field_by_index(InstanceKlass* loading_klass, fieldDescriptor& fd, int field_index); static methodHandle get_method_by_index(const constantPoolHandle& cpool, int method_index, Bytecodes::Code bc, ! InstanceKlass* loading_klass); JVMCIEnv(CompileTask* task, int system_dictionary_modification_counter); private: CompileTask* _task;
*** 108,135 **** bool _jvmti_can_hotswap_or_post_breakpoint; bool _jvmti_can_access_local_variables; bool _jvmti_can_post_on_exceptions; // Implementation methods for loading and constant pool access. ! static KlassHandle get_klass_by_name_impl(KlassHandle& accessing_klass, const constantPoolHandle& cpool, Symbol* klass_name, bool require_local); ! static KlassHandle get_klass_by_index_impl(const constantPoolHandle& cpool, int klass_index, bool& is_accessible, ! KlassHandle loading_klass); ! static void get_field_by_index_impl(instanceKlassHandle loading_klass, fieldDescriptor& fd, int field_index); static methodHandle get_method_by_index_impl(const constantPoolHandle& cpool, int method_index, Bytecodes::Code bc, ! instanceKlassHandle loading_klass); // Helper methods ! static bool check_klass_accessibility(KlassHandle accessing_klass, KlassHandle resolved_klass); ! static methodHandle lookup_method(instanceKlassHandle accessor, ! instanceKlassHandle holder, Symbol* name, Symbol* sig, Bytecodes::Code bc, constantTag tag); --- 106,133 ---- bool _jvmti_can_hotswap_or_post_breakpoint; bool _jvmti_can_access_local_variables; bool _jvmti_can_post_on_exceptions; // Implementation methods for loading and constant pool access. ! static Klass* get_klass_by_name_impl(Klass* accessing_klass, const constantPoolHandle& cpool, Symbol* klass_name, bool require_local); ! static Klass* get_klass_by_index_impl(const constantPoolHandle& cpool, int klass_index, bool& is_accessible, ! Klass* loading_klass); ! static void get_field_by_index_impl(InstanceKlass* loading_klass, fieldDescriptor& fd, int field_index); static methodHandle get_method_by_index_impl(const constantPoolHandle& cpool, int method_index, Bytecodes::Code bc, ! InstanceKlass* loading_klass); // Helper methods ! static bool check_klass_accessibility(Klass* accessing_klass, Klass* resolved_klass); ! static methodHandle lookup_method(InstanceKlass* accessor, ! InstanceKlass* holder, Symbol* name, Symbol* sig, Bytecodes::Code bc, constantTag tag);
*** 178,186 **** // converts the Klass* representing the holder of a method into a // InstanceKlass*. This is needed since the holder of a method in // the bytecodes could be an array type. Basically this converts // array types into java/lang/Object and other types stay as they are. ! static instanceKlassHandle get_instance_klass_for_declared_method_holder(KlassHandle klass); }; #endif // SHARE_VM_JVMCI_JVMCIENV_HPP --- 176,184 ---- // converts the Klass* representing the holder of a method into a // InstanceKlass*. This is needed since the holder of a method in // the bytecodes could be an array type. Basically this converts // array types into java/lang/Object and other types stay as they are. ! static InstanceKlass* get_instance_klass_for_declared_method_holder(Klass* klass); }; #endif // SHARE_VM_JVMCI_JVMCIENV_HPP
< prev index next >