From 1f54ed07ad1a61b5050eb08ac935fffe1425e99f Mon Sep 17 00:00:00 2001 From: Fei Yang Date: Mon, 29 Mar 2021 07:45:49 +0000 Subject: [PATCH] 8264096: slowdebug jvm crashes when StrInflatedCopy match rule is not supported Co-authored-by: Yadong Wang Reviewed-by: thartmann --- src/hotspot/share/opto/c2compiler.cpp | 4 ++-- src/hotspot/share/opto/graphKit.cpp | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/hotspot/share/opto/c2compiler.cpp b/src/hotspot/share/opto/c2compiler.cpp index 89b0270ab72..f2b9e3ecd6d 100644 --- a/src/hotspot/share/opto/c2compiler.cpp +++ b/src/hotspot/share/opto/c2compiler.cpp @@ -179,11 +179,11 @@ bool C2Compiler::is_intrinsic_supported(const methodHandle& method, bool is_virt switch (id) { case vmIntrinsics::_compressStringC: case vmIntrinsics::_compressStringB: - if (!Matcher::has_match_rule(Op_StrCompressedCopy)) return false; + if (!Matcher::match_rule_supported(Op_StrCompressedCopy)) return false; break; case vmIntrinsics::_inflateStringC: case vmIntrinsics::_inflateStringB: - if (!Matcher::has_match_rule(Op_StrInflatedCopy)) return false; + if (!Matcher::match_rule_supported(Op_StrInflatedCopy)) return false; break; case vmIntrinsics::_compareToL: case vmIntrinsics::_compareToU: diff --git a/src/hotspot/share/opto/graphKit.cpp b/src/hotspot/share/opto/graphKit.cpp index 69e3c4fa9dd..22078bdbff4 100644 --- a/src/hotspot/share/opto/graphKit.cpp +++ b/src/hotspot/share/opto/graphKit.cpp @@ -4228,6 +4228,8 @@ void GraphKit::inflate_string_slow(Node* src, Node* dst, Node* start, Node* coun * } */ add_empty_predicates(); + C->set_has_loops(true); + RegionNode* head = new RegionNode(3); head->init_req(1, control()); gvn().set_type(head, Type::CONTROL);