< prev index next >

src/share/vm/oops/cpCache.hpp

Print this page




 213   void initialize_resolved_reference_index(int ref_index) {
 214     assert(_f2 == 0, "set once");  // note: ref_index might be zero also
 215     _f2 = ref_index;
 216   }
 217 
 218   void set_field(                                // sets entry to resolved field state
 219     Bytecodes::Code get_code,                    // the bytecode used for reading the field
 220     Bytecodes::Code put_code,                    // the bytecode used for writing 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
 223     int             field_offset,                // the field offset in words in the field holder
 224     TosState        field_type,                  // the (machine) field type
 225     bool            is_final,                     // the field is final
 226     bool            is_volatile,                 // the field is volatile
 227     Klass*          root_klass                   // needed by the GC to dirty the klass
 228   );
 229 
 230  private:
 231   void set_direct_or_vtable_call(
 232     Bytecodes::Code invoke_code,                 // the bytecode used for invoking the method
 233     methodHandle    method,                      // the method/prototype if any (NULL, otherwise)
 234     int             vtable_index,                // the vtable index if any, else negative
 235     bool            sender_is_interface
 236   );
 237 
 238  public:
 239   void set_direct_call(                          // sets entry to exact concrete method entry
 240     Bytecodes::Code invoke_code,                 // the bytecode used for invoking the method
 241     methodHandle    method,                      // the method to call
 242     bool            sender_is_interface
 243   );
 244 
 245   void set_vtable_call(                          // sets entry to vtable index
 246     Bytecodes::Code invoke_code,                 // the bytecode used for invoking the method
 247     methodHandle    method,                      // resolved method which declares the vtable index
 248     int             vtable_index                 // the vtable index
 249   );
 250 
 251   void set_itable_call(
 252     Bytecodes::Code invoke_code,                 // the bytecode used; must be invokeinterface
 253     const methodHandle& method,                  // the resolved interface method
 254     int itable_index                             // index into itable for the method
 255   );
 256 
 257   void set_method_handle(
 258     const constantPoolHandle& cpool,             // holding constant pool (required for locking)
 259     const CallInfo &call_info                    // Call link information
 260   );
 261 
 262   void set_dynamic_call(
 263     const constantPoolHandle& cpool,             // holding constant pool (required for locking)
 264     const CallInfo &call_info                    // Call link information
 265   );
 266 
 267   // Common code for invokedynamic and MH invocations.




 213   void initialize_resolved_reference_index(int ref_index) {
 214     assert(_f2 == 0, "set once");  // note: ref_index might be zero also
 215     _f2 = ref_index;
 216   }
 217 
 218   void set_field(                                // sets entry to resolved field state
 219     Bytecodes::Code get_code,                    // the bytecode used for reading the field
 220     Bytecodes::Code put_code,                    // the bytecode used for writing 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
 223     int             field_offset,                // the field offset in words in the field holder
 224     TosState        field_type,                  // the (machine) field type
 225     bool            is_final,                    // the field is final
 226     bool            is_volatile,                 // the field is volatile
 227     Klass*          root_klass                   // needed by the GC to dirty the klass
 228   );
 229 
 230  private:
 231   void set_direct_or_vtable_call(
 232     Bytecodes::Code invoke_code,                 // the bytecode used for invoking the method
 233     const methodHandle& method,                  // the method/prototype if any (NULL, otherwise)
 234     int             vtable_index,                // the vtable index if any, else negative
 235     bool            sender_is_interface
 236   );
 237 
 238  public:
 239   void set_direct_call(                          // sets entry to exact concrete method entry
 240     Bytecodes::Code invoke_code,                 // the bytecode used for invoking the method
 241     const methodHandle& method,                  // the method to call
 242     bool            sender_is_interface
 243   );
 244 
 245   void set_vtable_call(                          // sets entry to vtable index
 246     Bytecodes::Code invoke_code,                 // the bytecode used for invoking the method
 247     const methodHandle& method,                  // resolved method which declares the vtable index
 248     int             vtable_index                 // the vtable index
 249   );
 250 
 251   void set_itable_call(
 252     Bytecodes::Code invoke_code,                 // the bytecode used; must be invokeinterface
 253     const methodHandle& method,                  // the resolved interface method
 254     int itable_index                             // index into itable for the method
 255   );
 256 
 257   void set_method_handle(
 258     const constantPoolHandle& cpool,             // holding constant pool (required for locking)
 259     const CallInfo &call_info                    // Call link information
 260   );
 261 
 262   void set_dynamic_call(
 263     const constantPoolHandle& cpool,             // holding constant pool (required for locking)
 264     const CallInfo &call_info                    // Call link information
 265   );
 266 
 267   // Common code for invokedynamic and MH invocations.


< prev index next >