< prev index next >

src/hotspot/share/oops/method.hpp

Print this page


 467 
 468   // nmethod/verified compiler entry
 469   address verified_code_entry();
 470   address verified_value_code_entry();
 471   address verified_value_ro_code_entry();
 472   bool check_code() const;      // Not inline to avoid circular ref
 473   CompiledMethod* volatile code() const;
 474   void clear_code(bool acquire_lock = true);    // Clear out any compiled code
 475   static void set_code(const methodHandle& mh, CompiledMethod* code);
 476   void set_adapter_entry(AdapterHandlerEntry* adapter) {
 477     constMethod()->set_adapter_entry(adapter);
 478   }
 479   void update_adapter_trampoline(AdapterHandlerEntry* adapter) {
 480     constMethod()->update_adapter_trampoline(adapter);
 481   }
 482 
 483   address get_i2c_entry();
 484   address get_c2i_entry();
 485   address get_c2i_value_entry();
 486   address get_c2i_unverified_entry();

 487   AdapterHandlerEntry* adapter() const {
 488     return constMethod()->adapter();
 489   }
 490   // setup entry points
 491   void link_method(const methodHandle& method, TRAPS);
 492   // clear entry points. Used by sharing code during dump time
 493   void unlink_method() NOT_CDS_RETURN;
 494 
 495   virtual void metaspace_pointers_do(MetaspaceClosure* iter);
 496   virtual MetaspaceObj::Type type() const { return MethodType; }
 497 
 498   // vtable index
 499   enum VtableIndexFlag {
 500     // Valid vtable indexes are non-negative (>= 0).
 501     // These few negative values are used as sentinels.
 502     itable_index_max        = -10, // first itable index, growing downward
 503     pending_itable_index    = -9,  // itable index will be assigned
 504     invalid_vtable_index    = -4,  // distinct from any valid vtable index
 505     garbage_vtable_index    = -3,  // not yet linked; no vtable layout yet
 506     nonvirtual_vtable_index = -2   // there is no need for vtable dispatch




 467 
 468   // nmethod/verified compiler entry
 469   address verified_code_entry();
 470   address verified_value_code_entry();
 471   address verified_value_ro_code_entry();
 472   bool check_code() const;      // Not inline to avoid circular ref
 473   CompiledMethod* volatile code() const;
 474   void clear_code(bool acquire_lock = true);    // Clear out any compiled code
 475   static void set_code(const methodHandle& mh, CompiledMethod* code);
 476   void set_adapter_entry(AdapterHandlerEntry* adapter) {
 477     constMethod()->set_adapter_entry(adapter);
 478   }
 479   void update_adapter_trampoline(AdapterHandlerEntry* adapter) {
 480     constMethod()->update_adapter_trampoline(adapter);
 481   }
 482 
 483   address get_i2c_entry();
 484   address get_c2i_entry();
 485   address get_c2i_value_entry();
 486   address get_c2i_unverified_entry();
 487   address get_c2i_unverified_value_entry();
 488   AdapterHandlerEntry* adapter() const {
 489     return constMethod()->adapter();
 490   }
 491   // setup entry points
 492   void link_method(const methodHandle& method, TRAPS);
 493   // clear entry points. Used by sharing code during dump time
 494   void unlink_method() NOT_CDS_RETURN;
 495 
 496   virtual void metaspace_pointers_do(MetaspaceClosure* iter);
 497   virtual MetaspaceObj::Type type() const { return MethodType; }
 498 
 499   // vtable index
 500   enum VtableIndexFlag {
 501     // Valid vtable indexes are non-negative (>= 0).
 502     // These few negative values are used as sentinels.
 503     itable_index_max        = -10, // first itable index, growing downward
 504     pending_itable_index    = -9,  // itable index will be assigned
 505     invalid_vtable_index    = -4,  // distinct from any valid vtable index
 506     garbage_vtable_index    = -3,  // not yet linked; no vtable layout yet
 507     nonvirtual_vtable_index = -2   // there is no need for vtable dispatch


< prev index next >