172 oop word_kind() { return (oop) JNIHandles::resolve(_word_kind_handle); }
173
174 public:
175
176 CodeInstaller() : _arena(mtCompiler) {}
177
178 JVMCIEnv::CodeInstallResult gather_metadata(Handle target, Handle compiled_code, CodeMetadata& metadata, TRAPS);
179 JVMCIEnv::CodeInstallResult install(JVMCICompiler* compiler, Handle target, Handle compiled_code, CodeBlob*& cb, Handle installed_code, Handle speculation_log, TRAPS);
180
181 static address runtime_call_target_address(oop runtime_call);
182 static VMReg get_hotspot_reg(jint jvmciRegisterNumber, TRAPS);
183 static bool is_general_purpose_reg(VMReg hotspotRegister);
184
185 const OopMapSet* oopMapSet() const { return _debug_recorder->_oopmaps; }
186
187 protected:
188 Location::Type get_oop_type(Handle value);
189 ScopeValue* get_scope_value(Handle value, BasicType type, GrowableArray<ScopeValue*>* objects, ScopeValue* &second, TRAPS);
190 MonitorValue* get_monitor_value(Handle value, GrowableArray<ScopeValue*>* objects, TRAPS);
191
192 Metadata* record_metadata_reference(Handle constant, TRAPS);
193 #ifdef _LP64
194 narrowKlass record_narrow_metadata_reference(Handle constant, TRAPS);
195 #endif
196
197 // extract the fields of the HotSpotCompiledCode
198 void initialize_fields(oop target, oop target_method, TRAPS);
199 void initialize_dependencies(oop target_method, OopRecorder* oop_recorder, TRAPS);
200
201 int estimate_stubs_size(TRAPS);
202
203 // perform data and call relocation on the CodeBuffer
204 JVMCIEnv::CodeInstallResult initialize_buffer(CodeBuffer& buffer, TRAPS);
205
206 void assumption_NoFinalizableSubclass(Handle assumption);
207 void assumption_ConcreteSubtype(Handle assumption);
208 void assumption_LeafType(Handle assumption);
209 void assumption_ConcreteMethod(Handle assumption);
210 void assumption_CallSiteTargetValue(Handle assumption);
211
212 void site_Safepoint(CodeBuffer& buffer, jint pc_offset, Handle site, TRAPS);
|
172 oop word_kind() { return (oop) JNIHandles::resolve(_word_kind_handle); }
173
174 public:
175
176 CodeInstaller() : _arena(mtCompiler) {}
177
178 JVMCIEnv::CodeInstallResult gather_metadata(Handle target, Handle compiled_code, CodeMetadata& metadata, TRAPS);
179 JVMCIEnv::CodeInstallResult install(JVMCICompiler* compiler, Handle target, Handle compiled_code, CodeBlob*& cb, Handle installed_code, Handle speculation_log, TRAPS);
180
181 static address runtime_call_target_address(oop runtime_call);
182 static VMReg get_hotspot_reg(jint jvmciRegisterNumber, TRAPS);
183 static bool is_general_purpose_reg(VMReg hotspotRegister);
184
185 const OopMapSet* oopMapSet() const { return _debug_recorder->_oopmaps; }
186
187 protected:
188 Location::Type get_oop_type(Handle value);
189 ScopeValue* get_scope_value(Handle value, BasicType type, GrowableArray<ScopeValue*>* objects, ScopeValue* &second, TRAPS);
190 MonitorValue* get_monitor_value(Handle value, GrowableArray<ScopeValue*>* objects, TRAPS);
191
192 void* record_metadata_reference(Handle constant, TRAPS);
193 #ifdef _LP64
194 narrowKlass record_narrow_metadata_reference(Handle constant, TRAPS);
195 #endif
196
197 // extract the fields of the HotSpotCompiledCode
198 void initialize_fields(oop target, oop target_method, TRAPS);
199 void initialize_dependencies(oop target_method, OopRecorder* oop_recorder, TRAPS);
200
201 int estimate_stubs_size(TRAPS);
202
203 // perform data and call relocation on the CodeBuffer
204 JVMCIEnv::CodeInstallResult initialize_buffer(CodeBuffer& buffer, TRAPS);
205
206 void assumption_NoFinalizableSubclass(Handle assumption);
207 void assumption_ConcreteSubtype(Handle assumption);
208 void assumption_LeafType(Handle assumption);
209 void assumption_ConcreteMethod(Handle assumption);
210 void assumption_CallSiteTargetValue(Handle assumption);
211
212 void site_Safepoint(CodeBuffer& buffer, jint pc_offset, Handle site, TRAPS);
|