< prev index next >
src/share/vm/jvmci/jvmciEnv.hpp
Print this page
rev 9302 : 8142329: [JVMCI] pass Handle by value
rev 9298 : 8142329: [JVMCI] pass Handle by value
rev 9037 : 8136421: JEP 243: Java-Level JVM Compiler Interface
Reviewed-by: ihse, alanb, roland, coleenp, iveresov, kvn, kbarrett
@@ -76,24 +76,24 @@
// 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,
+ static KlassHandle get_klass_by_name(KlassHandle accessing_klass,
Symbol* klass_name,
bool require_local);
// Constant pool access.
- static KlassHandle get_klass_by_index(constantPoolHandle& cpool,
+ 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,
+ KlassHandle loading_klass);
+ static void get_field_by_index(instanceKlassHandle loading_klass, fieldDescriptor& fd,
int field_index);
- static methodHandle get_method_by_index(constantPoolHandle& cpool,
+ static methodHandle get_method_by_index(const constantPoolHandle& cpool,
int method_index, Bytecodes::Code bc,
- instanceKlassHandle& loading_klass);
+ instanceKlassHandle loading_klass);
JVMCIEnv(CompileTask* task, int system_dictionary_modification_counter);
private:
CompileTask* _task;
@@ -103,28 +103,28 @@
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,
- constantPoolHandle& cpool,
+ 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(constantPoolHandle& cpool,
+ 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,
+ 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(constantPoolHandle& cpool,
+ static methodHandle get_method_by_index_impl(const constantPoolHandle& cpool,
int method_index, Bytecodes::Code bc,
- instanceKlassHandle& loading_klass);
+ instanceKlassHandle loading_klass);
// Helper methods
static bool check_klass_accessibility(KlassHandle accessing_klass, KlassHandle resolved_klass);
- static methodHandle lookup_method(instanceKlassHandle& accessor,
- instanceKlassHandle& holder,
+ static methodHandle lookup_method(instanceKlassHandle accessor,
+ instanceKlassHandle holder,
Symbol* name,
Symbol* sig,
Bytecodes::Code bc);
private:
@@ -140,11 +140,11 @@
public:
CompileTask* task() { return _task; }
// Register the result of a compilation.
static JVMCIEnv::CodeInstallResult register_method(
- methodHandle& target,
+ const methodHandle& target,
nmethod*& nm,
int entry_bci,
CodeOffsets* offsets,
int orig_pc_offset,
CodeBuffer* code_buffer,
@@ -164,9 +164,9 @@
// 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);
+ static instanceKlassHandle get_instance_klass_for_declared_method_holder(KlassHandle klass);
};
#endif // SHARE_VM_JVMCI_JVMCIENV_HPP
< prev index next >