< prev index next >

src/hotspot/share/opto/macro.cpp

Print this page

        

*** 45,57 **** #include "opto/rootnode.hpp" #include "opto/runtime.hpp" #include "opto/subnode.hpp" #include "opto/type.hpp" #include "runtime/sharedRuntime.hpp" ! #if INCLUDE_ALL_GCS #include "gc/g1/g1ThreadLocalData.hpp" ! #endif // INCLUDE_ALL_GCS // // Replace any references to "oldref" in inputs to "use" with "newref". // Returns the number of replacements made. --- 45,57 ---- #include "opto/rootnode.hpp" #include "opto/runtime.hpp" #include "opto/subnode.hpp" #include "opto/type.hpp" #include "runtime/sharedRuntime.hpp" ! #if INCLUDE_G1GC #include "gc/g1/g1ThreadLocalData.hpp" ! #endif // INCLUDE_G1GC // // Replace any references to "oldref" in inputs to "use" with "newref". // Returns the number of replacements made.
*** 244,254 **** continue; } assert(mem->is_Store(), "store required"); _igvn.replace_node(mem, mem->in(MemNode::Memory)); } ! } else { // G1 pre/post barriers assert(p2x->outcnt() <= 2, "expects 1 or 2 users: Xor and URShift nodes"); // It could be only one user, URShift node, in Object.clone() intrinsic // but the new allocation is passed to arraycopy stub and it could not // be scalar replaced. So we don't check the case. --- 244,256 ---- continue; } assert(mem->is_Store(), "store required"); _igvn.replace_node(mem, mem->in(MemNode::Memory)); } ! } ! #if INCLUDE_G1GC ! else { // G1 pre/post barriers assert(p2x->outcnt() <= 2, "expects 1 or 2 users: Xor and URShift nodes"); // It could be only one user, URShift node, in Object.clone() intrinsic // but the new allocation is passed to arraycopy stub and it could not // be scalar replaced. So we don't check the case.
*** 324,333 **** --- 326,336 ---- // Now CastP2X can be removed since it is used only on dead path // which currently still alive until igvn optimize it. assert(p2x->outcnt() == 0 || p2x->unique_out()->Opcode() == Op_URShiftX, ""); _igvn.replace_node(p2x, top()); } + #endif // INCLUDE_G1GC } // Search for a memory operation for the specified memory slice. static Node *scan_mem_chain(Node *mem, int alias_idx, int offset, Node *start_mem, Node *alloc, PhaseGVN *phase) { Node *orig_mem = mem;
< prev index next >