978 // Don't add edges in such cases.
979 //
980 bool arg_is_arraycopy_dest = src_has_oops && is_arraycopy &&
981 arg_has_oops && (i > TypeFunc::Parms);
982 #ifdef ASSERT
983 if (!(is_arraycopy ||
984 BarrierSet::barrier_set()->barrier_set_c2()->is_gc_barrier_node(call) ||
985 (call->as_CallLeaf()->_name != NULL &&
986 (strcmp(call->as_CallLeaf()->_name, "updateBytesCRC32") == 0 ||
987 strcmp(call->as_CallLeaf()->_name, "updateBytesCRC32C") == 0 ||
988 strcmp(call->as_CallLeaf()->_name, "updateBytesAdler32") == 0 ||
989 strcmp(call->as_CallLeaf()->_name, "aescrypt_encryptBlock") == 0 ||
990 strcmp(call->as_CallLeaf()->_name, "aescrypt_decryptBlock") == 0 ||
991 strcmp(call->as_CallLeaf()->_name, "cipherBlockChaining_encryptAESCrypt") == 0 ||
992 strcmp(call->as_CallLeaf()->_name, "cipherBlockChaining_decryptAESCrypt") == 0 ||
993 strcmp(call->as_CallLeaf()->_name, "electronicCodeBook_encryptAESCrypt") == 0 ||
994 strcmp(call->as_CallLeaf()->_name, "electronicCodeBook_decryptAESCrypt") == 0 ||
995 strcmp(call->as_CallLeaf()->_name, "counterMode_AESCrypt") == 0 ||
996 strcmp(call->as_CallLeaf()->_name, "ghash_processBlocks") == 0 ||
997 strcmp(call->as_CallLeaf()->_name, "encodeBlock") == 0 ||
998 strcmp(call->as_CallLeaf()->_name, "sha1_implCompress") == 0 ||
999 strcmp(call->as_CallLeaf()->_name, "sha1_implCompressMB") == 0 ||
1000 strcmp(call->as_CallLeaf()->_name, "sha256_implCompress") == 0 ||
1001 strcmp(call->as_CallLeaf()->_name, "sha256_implCompressMB") == 0 ||
1002 strcmp(call->as_CallLeaf()->_name, "sha512_implCompress") == 0 ||
1003 strcmp(call->as_CallLeaf()->_name, "sha512_implCompressMB") == 0 ||
1004 strcmp(call->as_CallLeaf()->_name, "multiplyToLen") == 0 ||
1005 strcmp(call->as_CallLeaf()->_name, "squareToLen") == 0 ||
1006 strcmp(call->as_CallLeaf()->_name, "mulAdd") == 0 ||
1007 strcmp(call->as_CallLeaf()->_name, "montgomery_multiply") == 0 ||
1008 strcmp(call->as_CallLeaf()->_name, "montgomery_square") == 0 ||
1009 strcmp(call->as_CallLeaf()->_name, "bigIntegerRightShiftWorker") == 0 ||
1010 strcmp(call->as_CallLeaf()->_name, "bigIntegerLeftShiftWorker") == 0 ||
1011 strcmp(call->as_CallLeaf()->_name, "vectorizedMismatch") == 0)
1012 ))) {
1013 call->dump();
1014 fatal("EA unexpected CallLeaf %s", call->as_CallLeaf()->_name);
1015 }
1016 #endif
1017 // Always process arraycopy's destination object since
|
978 // Don't add edges in such cases.
979 //
980 bool arg_is_arraycopy_dest = src_has_oops && is_arraycopy &&
981 arg_has_oops && (i > TypeFunc::Parms);
982 #ifdef ASSERT
983 if (!(is_arraycopy ||
984 BarrierSet::barrier_set()->barrier_set_c2()->is_gc_barrier_node(call) ||
985 (call->as_CallLeaf()->_name != NULL &&
986 (strcmp(call->as_CallLeaf()->_name, "updateBytesCRC32") == 0 ||
987 strcmp(call->as_CallLeaf()->_name, "updateBytesCRC32C") == 0 ||
988 strcmp(call->as_CallLeaf()->_name, "updateBytesAdler32") == 0 ||
989 strcmp(call->as_CallLeaf()->_name, "aescrypt_encryptBlock") == 0 ||
990 strcmp(call->as_CallLeaf()->_name, "aescrypt_decryptBlock") == 0 ||
991 strcmp(call->as_CallLeaf()->_name, "cipherBlockChaining_encryptAESCrypt") == 0 ||
992 strcmp(call->as_CallLeaf()->_name, "cipherBlockChaining_decryptAESCrypt") == 0 ||
993 strcmp(call->as_CallLeaf()->_name, "electronicCodeBook_encryptAESCrypt") == 0 ||
994 strcmp(call->as_CallLeaf()->_name, "electronicCodeBook_decryptAESCrypt") == 0 ||
995 strcmp(call->as_CallLeaf()->_name, "counterMode_AESCrypt") == 0 ||
996 strcmp(call->as_CallLeaf()->_name, "ghash_processBlocks") == 0 ||
997 strcmp(call->as_CallLeaf()->_name, "encodeBlock") == 0 ||
998 strcmp(call->as_CallLeaf()->_name, "md5_implCompress") == 0 ||
999 strcmp(call->as_CallLeaf()->_name, "md5_implCompressMB") == 0 ||
1000 strcmp(call->as_CallLeaf()->_name, "sha1_implCompress") == 0 ||
1001 strcmp(call->as_CallLeaf()->_name, "sha1_implCompressMB") == 0 ||
1002 strcmp(call->as_CallLeaf()->_name, "sha256_implCompress") == 0 ||
1003 strcmp(call->as_CallLeaf()->_name, "sha256_implCompressMB") == 0 ||
1004 strcmp(call->as_CallLeaf()->_name, "sha512_implCompress") == 0 ||
1005 strcmp(call->as_CallLeaf()->_name, "sha512_implCompressMB") == 0 ||
1006 strcmp(call->as_CallLeaf()->_name, "multiplyToLen") == 0 ||
1007 strcmp(call->as_CallLeaf()->_name, "squareToLen") == 0 ||
1008 strcmp(call->as_CallLeaf()->_name, "mulAdd") == 0 ||
1009 strcmp(call->as_CallLeaf()->_name, "montgomery_multiply") == 0 ||
1010 strcmp(call->as_CallLeaf()->_name, "montgomery_square") == 0 ||
1011 strcmp(call->as_CallLeaf()->_name, "bigIntegerRightShiftWorker") == 0 ||
1012 strcmp(call->as_CallLeaf()->_name, "bigIntegerLeftShiftWorker") == 0 ||
1013 strcmp(call->as_CallLeaf()->_name, "vectorizedMismatch") == 0)
1014 ))) {
1015 call->dump();
1016 fatal("EA unexpected CallLeaf %s", call->as_CallLeaf()->_name);
1017 }
1018 #endif
1019 // Always process arraycopy's destination object since
|