[11u] RFR: 8233164: C2 fails with assert(phase->C->get_alias_index(t) == phase->C->get_alias_index(t_adr)) failed: correct memory chain

Doerr, Martin martin.doerr at sap.com
Mon Dec 21 11:51:55 UTC 2020


Hi,

JDK-8233164 is backported to 11.0.11-oracle. I'd like to backport it for parity.
Change applies almost cleanly. I only had to integrate the following hunk manually due to unrelated context changes:
--- arraycopynode.cpp
+++ arraycopynode.cpp
@@ -574,8 +573,8 @@

   Node* src = in(ArrayCopyNode::Src);
   Node* dest = in(ArrayCopyNode::Dest);
-  const TypePtr* atp_src = get_address_type(phase, src);
-  const TypePtr* atp_dest = get_address_type(phase, dest);
+  const TypePtr* atp_src = get_address_type(phase, _src_type, src);
+  const TypePtr* atp_dest = get_address_type(phase, _dest_type, dest);

   Node *in_mem = in(TypeFunc::Memory);
   if (!in_mem->is_MergeMem()) {

Bug:
https://bugs.openjdk.java.net/browse/JDK-8233164

Original change:
https://hg.openjdk.java.net/jdk/jdk14/rev/be9033a248f7

11u backport:
http://cr.openjdk.java.net/~mdoerr/8233164_C2_11u/webrev.00/

Please review.

Best regards,
Martin



More information about the jdk-updates-dev mailing list