hotspot/src/share/vm/opto/parse1.cpp
changeset 34185 ee71c590a456
parent 33589 7cbd1b2c139b
parent 34174 4db2fb26dc49
child 34186 69c8391e72e1
equal deleted inserted replaced
33813:4f376e851453 34185:ee71c590a456
   956   if (method()->is_initializer() &&
   956   if (method()->is_initializer() &&
   957         (wrote_final() ||
   957         (wrote_final() ||
   958            PPC64_ONLY(wrote_volatile() ||)
   958            PPC64_ONLY(wrote_volatile() ||)
   959            (AlwaysSafeConstructors && wrote_fields()))) {
   959            (AlwaysSafeConstructors && wrote_fields()))) {
   960     _exits.insert_mem_bar(Op_MemBarRelease, alloc_with_final());
   960     _exits.insert_mem_bar(Op_MemBarRelease, alloc_with_final());
   961 #ifndef PRODUCT
       
   962     if (PrintOpto && (Verbose || WizardMode)) {
   961     if (PrintOpto && (Verbose || WizardMode)) {
   963       method()->print_name();
   962       method()->print_name();
   964       tty->print_cr(" writes finals and needs a memory barrier");
   963       tty->print_cr(" writes finals and needs a memory barrier");
   965     }
   964     }
   966 #endif
       
   967   }
   965   }
   968 
   966 
   969   // Any method can write a @Stable field; insert memory barriers after
   967   // Any method can write a @Stable field; insert memory barriers after
   970   // those also. If there is a predecessor allocation node, bind the
   968   // those also. If there is a predecessor allocation node, bind the
   971   // barrier there.
   969   // barrier there.
   972   if (wrote_stable()) {
   970   if (wrote_stable()) {
   973     _exits.insert_mem_bar(Op_MemBarRelease, alloc_with_final());
   971     _exits.insert_mem_bar(Op_MemBarRelease, alloc_with_final());
   974 #ifndef PRODUCT
       
   975     if (PrintOpto && (Verbose || WizardMode)) {
   972     if (PrintOpto && (Verbose || WizardMode)) {
   976       method()->print_name();
   973       method()->print_name();
   977       tty->print_cr(" writes @Stable and needs a memory barrier");
   974       tty->print_cr(" writes @Stable and needs a memory barrier");
   978     }
   975     }
   979 #endif
       
   980   }
   976   }
   981 
   977 
   982   for (MergeMemStream mms(_exits.merged_memory()); mms.next_non_empty(); ) {
   978   for (MergeMemStream mms(_exits.merged_memory()); mms.next_non_empty(); ) {
   983     // transform each slice of the original memphi:
   979     // transform each slice of the original memphi:
   984     mms.set_memory(_gvn.transform(mms.memory()));
   980     mms.set_memory(_gvn.transform(mms.memory()));