< prev index next >

src/hotspot/share/opto/escape.cpp

Print this page
rev 63810 : Merge


 991                   strcmp(call->as_CallLeaf()->_name, "electronicCodeBook_encryptAESCrypt") == 0 ||
 992                   strcmp(call->as_CallLeaf()->_name, "electronicCodeBook_decryptAESCrypt") == 0 ||
 993                   strcmp(call->as_CallLeaf()->_name, "counterMode_AESCrypt") == 0 ||
 994                   strcmp(call->as_CallLeaf()->_name, "ghash_processBlocks") == 0 ||
 995                   strcmp(call->as_CallLeaf()->_name, "encodeBlock") == 0 ||
 996                   strcmp(call->as_CallLeaf()->_name, "md5_implCompress") == 0 ||
 997                   strcmp(call->as_CallLeaf()->_name, "md5_implCompressMB") == 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
1018           // we need to add all possible edges to references in
1019           // source object.
1020           if (arg_esc >= PointsToNode::ArgEscape &&
1021               !arg_is_arraycopy_dest) {
1022             continue;
1023           }
1024           PointsToNode::EscapeState es = PointsToNode::ArgEscape;
1025           if (call->is_ArrayCopy()) {
1026             ArrayCopyNode* ac = call->as_ArrayCopy();
1027             if (ac->is_clonebasic() ||
1028                 ac->is_arraycopy_validated() ||
1029                 ac->is_copyof_validated() ||
1030                 ac->is_copyofrange_validated()) {
1031               es = PointsToNode::NoEscape;




 991                   strcmp(call->as_CallLeaf()->_name, "electronicCodeBook_encryptAESCrypt") == 0 ||
 992                   strcmp(call->as_CallLeaf()->_name, "electronicCodeBook_decryptAESCrypt") == 0 ||
 993                   strcmp(call->as_CallLeaf()->_name, "counterMode_AESCrypt") == 0 ||
 994                   strcmp(call->as_CallLeaf()->_name, "ghash_processBlocks") == 0 ||
 995                   strcmp(call->as_CallLeaf()->_name, "encodeBlock") == 0 ||
 996                   strcmp(call->as_CallLeaf()->_name, "md5_implCompress") == 0 ||
 997                   strcmp(call->as_CallLeaf()->_name, "md5_implCompressMB") == 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                   strcmp(call->as_CallLeaf()->_name, "get_referenced_objects") == 0)
1013                  ))) {
1014             call->dump();
1015             fatal("EA unexpected CallLeaf %s", call->as_CallLeaf()->_name);
1016           }
1017 #endif
1018           // Always process arraycopy's destination object since
1019           // we need to add all possible edges to references in
1020           // source object.
1021           if (arg_esc >= PointsToNode::ArgEscape &&
1022               !arg_is_arraycopy_dest) {
1023             continue;
1024           }
1025           PointsToNode::EscapeState es = PointsToNode::ArgEscape;
1026           if (call->is_ArrayCopy()) {
1027             ArrayCopyNode* ac = call->as_ArrayCopy();
1028             if (ac->is_clonebasic() ||
1029                 ac->is_arraycopy_validated() ||
1030                 ac->is_copyof_validated() ||
1031                 ac->is_copyofrange_validated()) {
1032               es = PointsToNode::NoEscape;


< prev index next >