< prev index next >

src/hotspot/share/oops/method.hpp

Print this page

 427     _adapter = adapter;
 428   }
 429   void set_from_compiled_entry(address entry) {
 430     _from_compiled_entry =  entry;
 431   }
 432 
 433   address get_i2c_entry();
 434   address get_c2i_entry();
 435   address get_c2i_unverified_entry();
 436   address get_c2i_no_clinit_check_entry();
 437   AdapterHandlerEntry* adapter() const {
 438     return _adapter;
 439   }
 440   // setup entry points
 441   void link_method(const methodHandle& method, TRAPS);
 442   // clear entry points. Used by sharing code during dump time
 443   void unlink_method() NOT_CDS_RETURN;
 444   void remove_unshareable_flags() NOT_CDS_RETURN;
 445 
 446   // the number of argument reg slots that the compiled method uses on the stack.
 447   int num_stack_arg_slots() const { return constMethod()->num_stack_arg_slots(); }

 448 
 449   virtual void metaspace_pointers_do(MetaspaceClosure* iter);
 450   virtual MetaspaceObj::Type type() const { return MethodType; }
 451 
 452   // vtable index
 453   enum VtableIndexFlag {
 454     // Valid vtable indexes are non-negative (>= 0).
 455     // These few negative values are used as sentinels.
 456     itable_index_max        = -10, // first itable index, growing downward
 457     pending_itable_index    = -9,  // itable index will be assigned
 458     invalid_vtable_index    = -4,  // distinct from any valid vtable index
 459     garbage_vtable_index    = -3,  // not yet linked; no vtable layout yet
 460     nonvirtual_vtable_index = -2   // there is no need for vtable dispatch
 461     // 6330203 Note:  Do not use -1, which was overloaded with many meanings.
 462   };
 463   DEBUG_ONLY(bool valid_vtable_index() const     { return _vtable_index >= nonvirtual_vtable_index; })
 464   bool has_vtable_index() const                  { return _vtable_index >= 0; }
 465   int  vtable_index() const                      { return _vtable_index; }
 466   void set_vtable_index(int index);
 467   DEBUG_ONLY(bool valid_itable_index() const     { return _vtable_index <= pending_itable_index; })

 427     _adapter = adapter;
 428   }
 429   void set_from_compiled_entry(address entry) {
 430     _from_compiled_entry =  entry;
 431   }
 432 
 433   address get_i2c_entry();
 434   address get_c2i_entry();
 435   address get_c2i_unverified_entry();
 436   address get_c2i_no_clinit_check_entry();
 437   AdapterHandlerEntry* adapter() const {
 438     return _adapter;
 439   }
 440   // setup entry points
 441   void link_method(const methodHandle& method, TRAPS);
 442   // clear entry points. Used by sharing code during dump time
 443   void unlink_method() NOT_CDS_RETURN;
 444   void remove_unshareable_flags() NOT_CDS_RETURN;
 445 
 446   // the number of argument reg slots that the compiled method uses on the stack.
 447   int num_stack_arg_slots(bool rounded = true) const {
 448     return rounded ? align_up(constMethod()->num_stack_arg_slots(), 2) : constMethod()->num_stack_arg_slots(); }
 449 
 450   virtual void metaspace_pointers_do(MetaspaceClosure* iter);
 451   virtual MetaspaceObj::Type type() const { return MethodType; }
 452 
 453   // vtable index
 454   enum VtableIndexFlag {
 455     // Valid vtable indexes are non-negative (>= 0).
 456     // These few negative values are used as sentinels.
 457     itable_index_max        = -10, // first itable index, growing downward
 458     pending_itable_index    = -9,  // itable index will be assigned
 459     invalid_vtable_index    = -4,  // distinct from any valid vtable index
 460     garbage_vtable_index    = -3,  // not yet linked; no vtable layout yet
 461     nonvirtual_vtable_index = -2   // there is no need for vtable dispatch
 462     // 6330203 Note:  Do not use -1, which was overloaded with many meanings.
 463   };
 464   DEBUG_ONLY(bool valid_vtable_index() const     { return _vtable_index >= nonvirtual_vtable_index; })
 465   bool has_vtable_index() const                  { return _vtable_index >= 0; }
 466   int  vtable_index() const                      { return _vtable_index; }
 467   void set_vtable_index(int index);
 468   DEBUG_ONLY(bool valid_itable_index() const     { return _vtable_index <= pending_itable_index; })
< prev index next >