src/share/vm/opto/escape.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/opto

src/share/vm/opto/escape.cpp

Print this page




 945                                (aat->isa_aryptr() && aat->isa_aryptr()->klass()->is_obj_array_klass()));
 946           if (i == TypeFunc::Parms) {
 947             src_has_oops = arg_has_oops;
 948           }
 949           //
 950           // src or dst could be j.l.Object when other is basic type array:
 951           //
 952           //   arraycopy(char[],0,Object*,0,size);
 953           //   arraycopy(Object*,0,char[],0,size);
 954           //
 955           // Don't add edges in such cases.
 956           //
 957           bool arg_is_arraycopy_dest = src_has_oops && is_arraycopy &&
 958                                        arg_has_oops && (i > TypeFunc::Parms);
 959 #ifdef ASSERT
 960           if (!(is_arraycopy ||
 961                 (call->as_CallLeaf()->_name != NULL &&
 962                  (strcmp(call->as_CallLeaf()->_name, "g1_wb_pre")  == 0 ||
 963                   strcmp(call->as_CallLeaf()->_name, "g1_wb_post") == 0 ||
 964                   strcmp(call->as_CallLeaf()->_name, "updateBytesCRC32") == 0 ||

 965                   strcmp(call->as_CallLeaf()->_name, "aescrypt_encryptBlock") == 0 ||
 966                   strcmp(call->as_CallLeaf()->_name, "aescrypt_decryptBlock") == 0 ||
 967                   strcmp(call->as_CallLeaf()->_name, "cipherBlockChaining_encryptAESCrypt") == 0 ||
 968                   strcmp(call->as_CallLeaf()->_name, "cipherBlockChaining_decryptAESCrypt") == 0 ||
 969                   strcmp(call->as_CallLeaf()->_name, "ghash_processBlocks") == 0 ||
 970                   strcmp(call->as_CallLeaf()->_name, "sha1_implCompress") == 0 ||
 971                   strcmp(call->as_CallLeaf()->_name, "sha1_implCompressMB") == 0 ||
 972                   strcmp(call->as_CallLeaf()->_name, "sha256_implCompress") == 0 ||
 973                   strcmp(call->as_CallLeaf()->_name, "sha256_implCompressMB") == 0 ||
 974                   strcmp(call->as_CallLeaf()->_name, "sha512_implCompress") == 0 ||
 975                   strcmp(call->as_CallLeaf()->_name, "sha512_implCompressMB") == 0 ||
 976                   strcmp(call->as_CallLeaf()->_name, "multiplyToLen") == 0 ||
 977                   strcmp(call->as_CallLeaf()->_name, "squareToLen") == 0 ||
 978                   strcmp(call->as_CallLeaf()->_name, "mulAdd") == 0)
 979                   ))) {
 980             call->dump();
 981             fatal(err_msg_res("EA unexpected CallLeaf %s", call->as_CallLeaf()->_name));
 982           }
 983 #endif
 984           // Always process arraycopy's destination object since




 945                                (aat->isa_aryptr() && aat->isa_aryptr()->klass()->is_obj_array_klass()));
 946           if (i == TypeFunc::Parms) {
 947             src_has_oops = arg_has_oops;
 948           }
 949           //
 950           // src or dst could be j.l.Object when other is basic type array:
 951           //
 952           //   arraycopy(char[],0,Object*,0,size);
 953           //   arraycopy(Object*,0,char[],0,size);
 954           //
 955           // Don't add edges in such cases.
 956           //
 957           bool arg_is_arraycopy_dest = src_has_oops && is_arraycopy &&
 958                                        arg_has_oops && (i > TypeFunc::Parms);
 959 #ifdef ASSERT
 960           if (!(is_arraycopy ||
 961                 (call->as_CallLeaf()->_name != NULL &&
 962                  (strcmp(call->as_CallLeaf()->_name, "g1_wb_pre")  == 0 ||
 963                   strcmp(call->as_CallLeaf()->_name, "g1_wb_post") == 0 ||
 964                   strcmp(call->as_CallLeaf()->_name, "updateBytesCRC32") == 0 ||
 965                   strcmp(call->as_CallLeaf()->_name, "updateBytesCRC32C") == 0 ||
 966                   strcmp(call->as_CallLeaf()->_name, "aescrypt_encryptBlock") == 0 ||
 967                   strcmp(call->as_CallLeaf()->_name, "aescrypt_decryptBlock") == 0 ||
 968                   strcmp(call->as_CallLeaf()->_name, "cipherBlockChaining_encryptAESCrypt") == 0 ||
 969                   strcmp(call->as_CallLeaf()->_name, "cipherBlockChaining_decryptAESCrypt") == 0 ||
 970                   strcmp(call->as_CallLeaf()->_name, "ghash_processBlocks") == 0 ||
 971                   strcmp(call->as_CallLeaf()->_name, "sha1_implCompress") == 0 ||
 972                   strcmp(call->as_CallLeaf()->_name, "sha1_implCompressMB") == 0 ||
 973                   strcmp(call->as_CallLeaf()->_name, "sha256_implCompress") == 0 ||
 974                   strcmp(call->as_CallLeaf()->_name, "sha256_implCompressMB") == 0 ||
 975                   strcmp(call->as_CallLeaf()->_name, "sha512_implCompress") == 0 ||
 976                   strcmp(call->as_CallLeaf()->_name, "sha512_implCompressMB") == 0 ||
 977                   strcmp(call->as_CallLeaf()->_name, "multiplyToLen") == 0 ||
 978                   strcmp(call->as_CallLeaf()->_name, "squareToLen") == 0 ||
 979                   strcmp(call->as_CallLeaf()->_name, "mulAdd") == 0)
 980                   ))) {
 981             call->dump();
 982             fatal(err_msg_res("EA unexpected CallLeaf %s", call->as_CallLeaf()->_name));
 983           }
 984 #endif
 985           // Always process arraycopy's destination object since


src/share/vm/opto/escape.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File