< prev index next >
src/share/vm/opto/escape.cpp
Print this page
rev 12906 : [mq]: gc_interface
@@ -23,10 +23,11 @@
*/
#include "precompiled.hpp"
#include "ci/bcEscapeAnalyzer.hpp"
#include "compiler/compileLog.hpp"
+#include "gc/shared/c2BarrierSetCodeGen.hpp"
#include "libadt/vectset.hpp"
#include "memory/allocation.hpp"
#include "memory/resourceArea.hpp"
#include "opto/c2compiler.hpp"
#include "opto/arraycopynode.hpp"
@@ -975,14 +976,13 @@
//
bool arg_is_arraycopy_dest = src_has_oops && is_arraycopy &&
arg_has_oops && (i > TypeFunc::Parms);
#ifdef ASSERT
if (!(is_arraycopy ||
+ Universe::heap()->barrier_set()->c2_code_gen()->is_gc_barrier_node(call) ||
(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, "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 ||
@@ -3266,13 +3266,11 @@
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) ||
+ } else if (!(Universe::heap()->barrier_set()->c2_code_gen()->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 >