108 static KlassHandle get_klass_by_name_impl(KlassHandle& accessing_klass,
109 const constantPoolHandle& cpool,
110 Symbol* klass_name,
111 bool require_local);
112 static KlassHandle get_klass_by_index_impl(const constantPoolHandle& cpool,
113 int klass_index,
114 bool& is_accessible,
115 KlassHandle& loading_klass);
116 static void get_field_by_index_impl(instanceKlassHandle& loading_klass, fieldDescriptor& fd,
117 int field_index);
118 static methodHandle get_method_by_index_impl(const constantPoolHandle& cpool,
119 int method_index, Bytecodes::Code bc,
120 instanceKlassHandle& loading_klass);
121
122 // Helper methods
123 static bool check_klass_accessibility(KlassHandle accessing_klass, KlassHandle resolved_klass);
124 static methodHandle lookup_method(instanceKlassHandle& accessor,
125 instanceKlassHandle& holder,
126 Symbol* name,
127 Symbol* sig,
128 Bytecodes::Code bc);
129
130 private:
131
132 // Is this thread currently in the VM state?
133 static bool is_in_vm();
134
135 // Helper routine for determining the validity of a compilation
136 // with respect to concurrent class loading.
137 static JVMCIEnv::CodeInstallResult check_for_system_dictionary_modification(Dependencies* target, Handle compiled_code,
138 JVMCIEnv* env, char** failure_detail);
139
140 public:
141 CompileTask* task() { return _task; }
142
143 // Register the result of a compilation.
144 static JVMCIEnv::CodeInstallResult register_method(
145 methodHandle& target,
146 nmethod*& nm,
147 int entry_bci,
148 CodeOffsets* offsets,
|
108 static KlassHandle get_klass_by_name_impl(KlassHandle& accessing_klass,
109 const constantPoolHandle& cpool,
110 Symbol* klass_name,
111 bool require_local);
112 static KlassHandle get_klass_by_index_impl(const constantPoolHandle& cpool,
113 int klass_index,
114 bool& is_accessible,
115 KlassHandle& loading_klass);
116 static void get_field_by_index_impl(instanceKlassHandle& loading_klass, fieldDescriptor& fd,
117 int field_index);
118 static methodHandle get_method_by_index_impl(const constantPoolHandle& cpool,
119 int method_index, Bytecodes::Code bc,
120 instanceKlassHandle& loading_klass);
121
122 // Helper methods
123 static bool check_klass_accessibility(KlassHandle accessing_klass, KlassHandle resolved_klass);
124 static methodHandle lookup_method(instanceKlassHandle& accessor,
125 instanceKlassHandle& holder,
126 Symbol* name,
127 Symbol* sig,
128 Bytecodes::Code bc,
129 constantTag tag);
130
131 private:
132
133 // Is this thread currently in the VM state?
134 static bool is_in_vm();
135
136 // Helper routine for determining the validity of a compilation
137 // with respect to concurrent class loading.
138 static JVMCIEnv::CodeInstallResult check_for_system_dictionary_modification(Dependencies* target, Handle compiled_code,
139 JVMCIEnv* env, char** failure_detail);
140
141 public:
142 CompileTask* task() { return _task; }
143
144 // Register the result of a compilation.
145 static JVMCIEnv::CodeInstallResult register_method(
146 methodHandle& target,
147 nmethod*& nm,
148 int entry_bci,
149 CodeOffsets* offsets,
|