hotspot/src/share/vm/oops/cpCache.hpp
changeset 46727 6e4a84748e2c
parent 46625 edefffab74e2
child 46746 ea379ebb9447
equal deleted inserted replaced
46726:7801367e3cc9 46727:6e4a84748e2c
   220     Bytecodes::Code put_code,                    // the bytecode used for writing the field
   220     Bytecodes::Code put_code,                    // the bytecode used for writing the field
   221     Klass*          field_holder,                // the object/klass holding the field
   221     Klass*          field_holder,                // the object/klass holding the field
   222     int             orig_field_index,            // the original field index in the field holder
   222     int             orig_field_index,            // the original field index in the field holder
   223     int             field_offset,                // the field offset in words in the field holder
   223     int             field_offset,                // the field offset in words in the field holder
   224     TosState        field_type,                  // the (machine) field type
   224     TosState        field_type,                  // the (machine) field type
   225     bool            is_final,                     // the field is final
   225     bool            is_final,                    // the field is final
   226     bool            is_volatile,                 // the field is volatile
   226     bool            is_volatile,                 // the field is volatile
   227     Klass*          root_klass                   // needed by the GC to dirty the klass
   227     Klass*          root_klass                   // needed by the GC to dirty the klass
   228   );
   228   );
   229 
   229 
   230  private:
   230  private:
   231   void set_direct_or_vtable_call(
   231   void set_direct_or_vtable_call(
   232     Bytecodes::Code invoke_code,                 // the bytecode used for invoking the method
   232     Bytecodes::Code invoke_code,                 // the bytecode used for invoking the method
   233     methodHandle    method,                      // the method/prototype if any (NULL, otherwise)
   233     const methodHandle& method,                  // the method/prototype if any (NULL, otherwise)
   234     int             vtable_index,                // the vtable index if any, else negative
   234     int             vtable_index,                // the vtable index if any, else negative
   235     bool            sender_is_interface
   235     bool            sender_is_interface
   236   );
   236   );
   237 
   237 
   238  public:
   238  public:
   239   void set_direct_call(                          // sets entry to exact concrete method entry
   239   void set_direct_call(                          // sets entry to exact concrete method entry
   240     Bytecodes::Code invoke_code,                 // the bytecode used for invoking the method
   240     Bytecodes::Code invoke_code,                 // the bytecode used for invoking the method
   241     methodHandle    method,                      // the method to call
   241     const methodHandle& method,                  // the method to call
   242     bool            sender_is_interface
   242     bool            sender_is_interface
   243   );
   243   );
   244 
   244 
   245   void set_vtable_call(                          // sets entry to vtable index
   245   void set_vtable_call(                          // sets entry to vtable index
   246     Bytecodes::Code invoke_code,                 // the bytecode used for invoking the method
   246     Bytecodes::Code invoke_code,                 // the bytecode used for invoking the method
   247     methodHandle    method,                      // resolved method which declares the vtable index
   247     const methodHandle& method,                  // resolved method which declares the vtable index
   248     int             vtable_index                 // the vtable index
   248     int             vtable_index                 // the vtable index
   249   );
   249   );
   250 
   250 
   251   void set_itable_call(
   251   void set_itable_call(
   252     Bytecodes::Code invoke_code,                 // the bytecode used; must be invokeinterface
   252     Bytecodes::Code invoke_code,                 // the bytecode used; must be invokeinterface