< prev index next >

src/hotspot/share/opto/escape.cpp

BarrierSetC2

*** 23,32 **** --- 23,33 ---- */ #include "precompiled.hpp" #include "ci/bcEscapeAnalyzer.hpp" #include "compiler/compileLog.hpp" + #include "gc/shared/c2/barrierSetC2.hpp" #include "libadt/vectset.hpp" #include "memory/allocation.hpp" #include "memory/resourceArea.hpp" #include "opto/c2compiler.hpp" #include "opto/arraycopynode.hpp" ***************
*** 976,989 **** // bool arg_is_arraycopy_dest = src_has_oops && is_arraycopy && arg_has_oops && (i > TypeFunc::Parms); #ifdef ASSERT if (!(is_arraycopy || (call->as_CallLeaf()->_name != NULL && ! (strcmp(call->as_CallLeaf()->_name, "g1_wb_pre") == 0 || ! strcmp(call->as_CallLeaf()->_name, "g1_wb_post") == 0 || ! strcmp(call->as_CallLeaf()->_name, "updateBytesCRC32") == 0 || strcmp(call->as_CallLeaf()->_name, "updateBytesCRC32C") == 0 || strcmp(call->as_CallLeaf()->_name, "updateBytesAdler32") == 0 || strcmp(call->as_CallLeaf()->_name, "aescrypt_encryptBlock") == 0 || strcmp(call->as_CallLeaf()->_name, "aescrypt_decryptBlock") == 0 || strcmp(call->as_CallLeaf()->_name, "cipherBlockChaining_encryptAESCrypt") == 0 || --- 977,989 ---- // bool arg_is_arraycopy_dest = src_has_oops && is_arraycopy && arg_has_oops && (i > TypeFunc::Parms); #ifdef ASSERT if (!(is_arraycopy || + BarrierSet::barrier_set()->barrier_set_c2()->is_gc_barrier_node(call) || (call->as_CallLeaf()->_name != NULL && ! (strcmp(call->as_CallLeaf()->_name, "updateBytesCRC32") == 0 || strcmp(call->as_CallLeaf()->_name, "updateBytesCRC32C") == 0 || strcmp(call->as_CallLeaf()->_name, "updateBytesAdler32") == 0 || strcmp(call->as_CallLeaf()->_name, "aescrypt_encryptBlock") == 0 || strcmp(call->as_CallLeaf()->_name, "aescrypt_decryptBlock") == 0 || strcmp(call->as_CallLeaf()->_name, "cipherBlockChaining_encryptAESCrypt") == 0 || ***************
*** 3281,3293 **** uint op = use->Opcode(); if ((use->in(MemNode::Memory) == n) && (op == Op_StrCompressedCopy || op == Op_StrInflatedCopy)) { // They overwrite memory edge corresponding to destination array, memnode_worklist.append_if_missing(use); ! } else if (!(op == Op_StoreCM || ! (op == Op_CallLeaf && use->as_CallLeaf()->_name != NULL && ! strcmp(use->as_CallLeaf()->_name, "g1_wb_pre") == 0) || op == Op_AryEq || op == Op_StrComp || op == Op_HasNegatives || op == Op_StrCompressedCopy || op == Op_StrInflatedCopy || op == Op_StrEquals || op == Op_StrIndexOf || op == Op_StrIndexOfChar)) { n->dump(); use->dump(); --- 3281,3291 ---- uint op = use->Opcode(); if ((use->in(MemNode::Memory) == n) && (op == Op_StrCompressedCopy || op == Op_StrInflatedCopy)) { // They overwrite memory edge corresponding to destination array, memnode_worklist.append_if_missing(use); ! } else if (!(BarrierSet::barrier_set()->barrier_set_c2()->is_gc_barrier_node(use) || op == Op_AryEq || op == Op_StrComp || op == Op_HasNegatives || op == Op_StrCompressedCopy || op == Op_StrInflatedCopy || op == Op_StrEquals || op == Op_StrIndexOf || op == Op_StrIndexOfChar)) { n->dump(); use->dump();
< prev index next >