973 // arraycopy(Object*,0,char[],0,size);
974 //
975 // Don't add edges in such cases.
976 //
977 bool arg_is_arraycopy_dest = src_has_oops && is_arraycopy &&
978 arg_has_oops && (i > TypeFunc::Parms);
979 #ifdef ASSERT
980 if (!(is_arraycopy ||
981 (call->as_CallLeaf()->_name != NULL &&
982 (strcmp(call->as_CallLeaf()->_name, "g1_wb_pre") == 0 ||
983 strcmp(call->as_CallLeaf()->_name, "g1_wb_post") == 0 ||
984 strcmp(call->as_CallLeaf()->_name, "updateBytesCRC32") == 0 ||
985 strcmp(call->as_CallLeaf()->_name, "updateBytesCRC32C") == 0 ||
986 strcmp(call->as_CallLeaf()->_name, "updateBytesAdler32") == 0 ||
987 strcmp(call->as_CallLeaf()->_name, "aescrypt_encryptBlock") == 0 ||
988 strcmp(call->as_CallLeaf()->_name, "aescrypt_decryptBlock") == 0 ||
989 strcmp(call->as_CallLeaf()->_name, "cipherBlockChaining_encryptAESCrypt") == 0 ||
990 strcmp(call->as_CallLeaf()->_name, "cipherBlockChaining_decryptAESCrypt") == 0 ||
991 strcmp(call->as_CallLeaf()->_name, "counterMode_AESCrypt") == 0 ||
992 strcmp(call->as_CallLeaf()->_name, "ghash_processBlocks") == 0 ||
993 strcmp(call->as_CallLeaf()->_name, "sha1_implCompress") == 0 ||
994 strcmp(call->as_CallLeaf()->_name, "sha1_implCompressMB") == 0 ||
995 strcmp(call->as_CallLeaf()->_name, "sha256_implCompress") == 0 ||
996 strcmp(call->as_CallLeaf()->_name, "sha256_implCompressMB") == 0 ||
997 strcmp(call->as_CallLeaf()->_name, "sha512_implCompress") == 0 ||
998 strcmp(call->as_CallLeaf()->_name, "sha512_implCompressMB") == 0 ||
999 strcmp(call->as_CallLeaf()->_name, "multiplyToLen") == 0 ||
1000 strcmp(call->as_CallLeaf()->_name, "squareToLen") == 0 ||
1001 strcmp(call->as_CallLeaf()->_name, "mulAdd") == 0 ||
1002 strcmp(call->as_CallLeaf()->_name, "montgomery_multiply") == 0 ||
1003 strcmp(call->as_CallLeaf()->_name, "montgomery_square") == 0 ||
1004 strcmp(call->as_CallLeaf()->_name, "vectorizedMismatch") == 0)
1005 ))) {
1006 call->dump();
1007 fatal("EA unexpected CallLeaf %s", call->as_CallLeaf()->_name);
1008 }
1009 #endif
1010 // Always process arraycopy's destination object since
1011 // we need to add all possible edges to references in
1012 // source object.
|
973 // arraycopy(Object*,0,char[],0,size);
974 //
975 // Don't add edges in such cases.
976 //
977 bool arg_is_arraycopy_dest = src_has_oops && is_arraycopy &&
978 arg_has_oops && (i > TypeFunc::Parms);
979 #ifdef ASSERT
980 if (!(is_arraycopy ||
981 (call->as_CallLeaf()->_name != NULL &&
982 (strcmp(call->as_CallLeaf()->_name, "g1_wb_pre") == 0 ||
983 strcmp(call->as_CallLeaf()->_name, "g1_wb_post") == 0 ||
984 strcmp(call->as_CallLeaf()->_name, "updateBytesCRC32") == 0 ||
985 strcmp(call->as_CallLeaf()->_name, "updateBytesCRC32C") == 0 ||
986 strcmp(call->as_CallLeaf()->_name, "updateBytesAdler32") == 0 ||
987 strcmp(call->as_CallLeaf()->_name, "aescrypt_encryptBlock") == 0 ||
988 strcmp(call->as_CallLeaf()->_name, "aescrypt_decryptBlock") == 0 ||
989 strcmp(call->as_CallLeaf()->_name, "cipherBlockChaining_encryptAESCrypt") == 0 ||
990 strcmp(call->as_CallLeaf()->_name, "cipherBlockChaining_decryptAESCrypt") == 0 ||
991 strcmp(call->as_CallLeaf()->_name, "counterMode_AESCrypt") == 0 ||
992 strcmp(call->as_CallLeaf()->_name, "ghash_processBlocks") == 0 ||
993 strcmp(call->as_CallLeaf()->_name, "encodeBlock") == 0 ||
994 strcmp(call->as_CallLeaf()->_name, "sha1_implCompress") == 0 ||
995 strcmp(call->as_CallLeaf()->_name, "sha1_implCompressMB") == 0 ||
996 strcmp(call->as_CallLeaf()->_name, "sha256_implCompress") == 0 ||
997 strcmp(call->as_CallLeaf()->_name, "sha256_implCompressMB") == 0 ||
998 strcmp(call->as_CallLeaf()->_name, "sha512_implCompress") == 0 ||
999 strcmp(call->as_CallLeaf()->_name, "sha512_implCompressMB") == 0 ||
1000 strcmp(call->as_CallLeaf()->_name, "multiplyToLen") == 0 ||
1001 strcmp(call->as_CallLeaf()->_name, "squareToLen") == 0 ||
1002 strcmp(call->as_CallLeaf()->_name, "mulAdd") == 0 ||
1003 strcmp(call->as_CallLeaf()->_name, "montgomery_multiply") == 0 ||
1004 strcmp(call->as_CallLeaf()->_name, "montgomery_square") == 0 ||
1005 strcmp(call->as_CallLeaf()->_name, "vectorizedMismatch") == 0)
1006 ))) {
1007 call->dump();
1008 fatal("EA unexpected CallLeaf %s", call->as_CallLeaf()->_name);
1009 }
1010 #endif
1011 // Always process arraycopy's destination object since
1012 // we need to add all possible edges to references in
1013 // source object.
|