hotspot/src/share/vm/interpreter/rewriter.cpp
changeset 42870 525f24ac5db0
parent 39619 905b6eee37b3
child 46329 53ccc37bda19
equal deleted inserted replaced
42869:32e49f36d795 42870:525f24ac5db0
   424             if (klass->name() == ref_class_name) {
   424             if (klass->name() == ref_class_name) {
   425               Symbol* field_name = cp->name_ref_at(bc_index);
   425               Symbol* field_name = cp->name_ref_at(bc_index);
   426               Symbol* field_sig = cp->signature_ref_at(bc_index);
   426               Symbol* field_sig = cp->signature_ref_at(bc_index);
   427 
   427 
   428               fieldDescriptor fd;
   428               fieldDescriptor fd;
   429               klass->find_field(field_name, field_sig, &fd);
   429               if (klass->find_field(field_name, field_sig, &fd) != NULL) {
   430               if (fd.access_flags().is_final()) {
   430                 if (fd.access_flags().is_final()) {
   431                 if (fd.access_flags().is_static()) {
   431                   if (fd.access_flags().is_static()) {
   432                   if (!method->is_static_initializer()) {
   432                     if (!method->is_static_initializer()) {
   433                     fd.set_has_initialized_final_update(true);
   433                       fd.set_has_initialized_final_update(true);
   434                   }
   434                     }
   435                 } else {
   435                   } else {
   436                   if (!method->is_object_initializer()) {
   436                     if (!method->is_object_initializer()) {
   437                     fd.set_has_initialized_final_update(true);
   437                       fd.set_has_initialized_final_update(true);
       
   438                     }
   438                   }
   439                   }
   439                 }
   440                 }
   440               }
   441               }
   441             }
   442             }
   442           }
   443           }