< 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 >