< prev index next >

src/share/vm/jvmci/jvmciCodeInstaller.hpp

Print this page




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


< prev index next >