213 _f2 = ref_index; 214 } 215 216 void set_field( // sets entry to resolved field state 217 Bytecodes::Code get_code, // the bytecode used for reading the field 218 Bytecodes::Code put_code, // the bytecode used for writing the field 219 Klass* field_holder, // the object/klass holding the field 220 int orig_field_index, // the original field index in the field holder 221 int field_offset, // the field offset in words in the field holder 222 TosState field_type, // the (machine) field type 223 bool is_final, // the field is final 224 bool is_volatile, // the field is volatile 225 Klass* root_klass // needed by the GC to dirty the klass 226 ); 227 228 private: 229 void set_direct_or_vtable_call( 230 Bytecodes::Code invoke_code, // the bytecode used for invoking the method 231 const methodHandle& method, // the method/prototype if any (NULL, otherwise) 232 int vtable_index, // the vtable index if any, else negative 233 bool sender_is_interface, // 'logical' sender (may be host of VMAC) 234 InstanceKlass* pool_holder // class from which the call is made 235 ); 236 237 public: 238 void set_direct_call( // sets entry to exact concrete method entry 239 Bytecodes::Code invoke_code, // the bytecode used for invoking the method 240 const methodHandle& method, // the method to call 241 bool sender_is_interface, // 'logical' sender (may be host of VMAC) 242 InstanceKlass* pool_holder // class from which the call is made 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 Klass* referenced_klass, // the referenced klass in the InterfaceMethodref 254 const methodHandle& method, // the resolved interface method 255 int itable_index // index into itable for the method 256 ); 257 258 void set_method_handle( 259 const constantPoolHandle& cpool, // holding constant pool (required for locking) 260 const CallInfo &call_info // Call link information 261 ); 262 | 213 _f2 = ref_index; 214 } 215 216 void set_field( // sets entry to resolved field state 217 Bytecodes::Code get_code, // the bytecode used for reading the field 218 Bytecodes::Code put_code, // the bytecode used for writing the field 219 Klass* field_holder, // the object/klass holding the field 220 int orig_field_index, // the original field index in the field holder 221 int field_offset, // the field offset in words in the field holder 222 TosState field_type, // the (machine) field type 223 bool is_final, // the field is final 224 bool is_volatile, // the field is volatile 225 Klass* root_klass // needed by the GC to dirty the klass 226 ); 227 228 private: 229 void set_direct_or_vtable_call( 230 Bytecodes::Code invoke_code, // the bytecode used for invoking the method 231 const methodHandle& method, // the method/prototype if any (NULL, otherwise) 232 int vtable_index, // the vtable index if any, else negative 233 bool sender_is_interface 234 ); 235 236 public: 237 void set_direct_call( // sets entry to exact concrete method entry 238 Bytecodes::Code invoke_code, // the bytecode used for invoking the method 239 const methodHandle& method, // the method to call 240 bool sender_is_interface 241 ); 242 243 void set_vtable_call( // sets entry to vtable index 244 Bytecodes::Code invoke_code, // the bytecode used for invoking the method 245 const methodHandle& method, // resolved method which declares the vtable index 246 int vtable_index // the vtable index 247 ); 248 249 void set_itable_call( 250 Bytecodes::Code invoke_code, // the bytecode used; must be invokeinterface 251 Klass* referenced_klass, // the referenced klass in the InterfaceMethodref 252 const methodHandle& method, // the resolved interface method 253 int itable_index // index into itable for the method 254 ); 255 256 void set_method_handle( 257 const constantPoolHandle& cpool, // holding constant pool (required for locking) 258 const CallInfo &call_info // Call link information 259 ); 260 |