< prev index next >

src/share/vm/opto/parse1.cpp

Print this page

        

*** 990,1000 **** // if (method()->is_initializer() && (wrote_final() || PPC64_ONLY(wrote_volatile() ||) (AlwaysSafeConstructors && wrote_fields()))) { ! _exits.insert_mem_bar(Op_MemBarRelease, alloc_with_final()); // If Memory barrier is created for final fields write // and allocation node does not escape the initialize method, // then barrier introduced by allocation node can be removed. if (DoEscapeAnalysis && alloc_with_final()) { --- 990,1000 ---- // if (method()->is_initializer() && (wrote_final() || PPC64_ONLY(wrote_volatile() ||) (AlwaysSafeConstructors && wrote_fields()))) { ! _exits.insert_mem_bar(Opcodes::Op_MemBarRelease, alloc_with_final()); // If Memory barrier is created for final fields write // and allocation node does not escape the initialize method, // then barrier introduced by allocation node can be removed. if (DoEscapeAnalysis && alloc_with_final()) {
*** 1010,1020 **** // Any method can write a @Stable field; insert memory barriers // after those also. Can't bind predecessor allocation node (if any) // with barrier because allocation doesn't always dominate // MemBarRelease. if (wrote_stable()) { ! _exits.insert_mem_bar(Op_MemBarRelease); if (PrintOpto && (Verbose || WizardMode)) { method()->print_name(); tty->print_cr(" writes @Stable and needs a memory barrier"); } } --- 1010,1020 ---- // Any method can write a @Stable field; insert memory barriers // after those also. Can't bind predecessor allocation node (if any) // with barrier because allocation doesn't always dominate // MemBarRelease. if (wrote_stable()) { ! _exits.insert_mem_bar(Opcodes::Op_MemBarRelease); if (PrintOpto && (Verbose || WizardMode)) { method()->print_name(); tty->print_cr(" writes @Stable and needs a memory barrier"); } }
*** 1157,1167 **** for (i = 0; i < TypeFunc::Parms; i++) { map()->init_req(i, inmap->in(i)); } if (depth() == 1) { ! assert(map()->memory()->Opcode() == Op_Parm, ""); // Insert the memory aliasing node set_all_memory(reset_memory()); } assert(merged_memory(), ""); --- 1157,1167 ---- for (i = 0; i < TypeFunc::Parms; i++) { map()->init_req(i, inmap->in(i)); } if (depth() == 1) { ! assert(map()->memory()->Opcode() == Opcodes::Op_Parm, ""); // Insert the memory aliasing node set_all_memory(reset_memory()); } assert(merged_memory(), "");
< prev index next >