[External] : Re: RFC - Improving C2 Escape Analysis
Vladimir Kozlov
vladimir.kozlov at oracle.com
Thu Nov 11 20:37:26 UTC 2021
Hi Cesar,
On 11/11/21 11:24 AM, Cesar Soares Lucas wrote:
> Hi Vladimir,
>
> Thank you for the feedback and sorry for the delay in getting back to you!
>
> > Yes, finding solution for allocation merges (or NULL) is a pain. I spent some
> > time investigating possible solutions for it but "no cigar". May be we do
> > indead need control flow analysis to resolve this.
>
> Can you elaborate a bit on the approaches you tried and why you didn't like
> them? By allocation merges do you mean nested objects like "obj1.obj2.x",
> right? Did you try solving both control-flow merge issues and also allocation
> merges?
I mean control flow merges of allocations, like in your "Code Example 4".
I tried to create separate unique instance IDs (in addition to Node::_idx) to use for merged allocations case (not NULL
case) which would look like one allocation after merge point with different paths for fields initialization. But
stumbles on some issues and did not proceed further. After some thinking I decided that it is wrong approach since it
still don't solve main merge issue of flow-insensitive analysis:
https://bugs.openjdk.java.net/browse/JDK-6726999
test/hotspot/jtreg/compiler/escapeAnalysis/Test6726999.java
The issue with deep nested allocations `new A(new B( new C)))` will be addressed by Iterative EA I propose:
https://bugs.openjdk.java.net/browse/JDK-8276455
>
> > There are 2 test files with small methods for different EA cases I used to
> > see how EA works:
>
> These examples are being very helpful, thank you again! >
> > Yes, I think it would be good to have a prototype if you are comfortable to
> > work with C2 code already. I proposed small RFEs just for warmup ;)
>
> I talked with my colleagues and we decided to start the work by trying to fix
> the control/data-flow merge issues - *perhaps not for all cases, but at least
> for some of them*. Then, based on our experience with this and some
> benchmarking we'll decide if we really need flow-sensitive analysis and how to
> best approach that.
Use Test6726999.java for that. It may need to be modified to verify correctness of results (currently it just print result).
>
> We'll definitely take a look at the RFEs as we move along! Implementing Stadler
> algorithm was just something that crossed my mind initially, it's very likely
> the last approach we'd try ... I don't want to bite more than I can chew..
I may look on some RFE myself after I am done with 8276455. Please, let me know if you pick one to avoid duplicated work.
Regards,
Vladimir K
>
>
> Regards,
> Cesar
> ------------------------------------------------------------------------------------------------------------------------
> *From:* Vladimir Kozlov <vladimir.kozlov at oracle.com>
> *Sent:* October 29, 2021 5:27 PM
> *To:* Cesar Soares Lucas <Divino.Cesar at microsoft.com>; Tobias Hartmann <tobias.hartmann at oracle.com>; Ron Pressler
> <ron.pressler at oracle.com>
> *Cc:* John Rose <john.r.rose at oracle.com>; Mark Reinhold <mark.reinhold at oracle.com>; hotspot-dev at openjdk.java.net
> <hotspot-dev at openjdk.java.net>; Brian Stafford <Brian.Stafford at microsoft.com>; Martijn Verburg
> <Martijn.Verburg at microsoft.com>; Hohensee, Paul <hohensee at amazon.com>
> *Subject:* Re: [External] : Re: RFC - Improving C2 Escape Analysis
> On 10/29/21 4:50 PM, Cesar Soares Lucas wrote:
>> Hi Vladimir and Tobias,
>>
>> >> Sure, here are four examples of EA and/or scalarization failing due to
>> >> complicated control/data flow:
>> >> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcr.openjdk.java.net%2F~thartmann%2FEA_examples&data=04%7C01%7CDivino.Cesar%40microsoft.com%7C027f2da3f2e14f914c2608d99b3c195e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637711504731032568%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=hz4ti9lgmQeGLX%2BZ3vmSngXHHUAX%2FAvtObgeu%2Fqz1DI%3D&reserved=0
> <https://urldefense.com/v3/__https://nam06.safelinks.protection.outlook.com/?url=https*3A*2F*2Fcr.openjdk.java.net*2F*thartmann*2FEA_examples&data=04*7C01*7CDivino.Cesar*40microsoft.com*7C027f2da3f2e14f914c2608d99b3c195e*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637711504731032568*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000&sdata=hz4ti9lgmQeGLX*2BZ3vmSngXHHUAX*2FAvtObgeu*2Fqz1DI*3D&reserved=0__;JSUlJX4lJSUlJSUlJSUlJSUlJSUlJQ!!ACWV5N9M2RV99hQ!a2yltdzJejKSFAqSoN7N5X0yqmRW0Nb7yS2_bBOlp6rrf8axPBXgR9arXi4ZrgiJmfBTxA$>
>>
>> >> There are 2 test files with small methods for different EA cases I used to
>> >> see how EA works:
>> >>
>> >> test/hotspot/jtreg/compiler/escapeAnalysis/Test6726999.java
>> >> test/hotspot/jtreg/compiler/escapeAnalysis/Test6689060.java
>>
>> Thank you for the examples, Tobias/Vladimir. This is being very helpful.
>>
>> >> Yes, finding solution for allocation merges (or NULL) is a pain. I spent
>> >> some time investigating possible solutions for it but "no cigar". May be we
>> >> do indead need control flow analysis to resolve this.
>>
>> By "need control flow analysis" you mean the flow-sensitive EA algorithm? My
>
> Yes.
>
> To clarify. I investigated solutions in current flow-insensitive EA.
>
>> first idea to handle these control/data-merge issues was to implement in C2 the
>> same algorithm used by GRAAL - i.e., the algorithm described in Stadler et. al
>> PEA paper. Do you think this is reasonable?
>
> Yes, I think it would be good to have a prototype if you are comfortable to work with C2 code already.
> I proposed small RFEs just for warmup ;)
>
>>
>> >> I am currently looking on iterative EA. Do more EA rounds if we can
>> >> eliminate more connected allocations. It was proposed by Vladimir Ivanov and
>> >> I have working prototype.
>>
>> Cool! I'm curious, when do you plan to submit a Pull Request for this?
>
> I am investigating regressions in some benchmarks.
>
>>
>> >> There is also suggestion from Amazon Java group about "C2 Partial Escape
>> >> Analysis" which needs more discussion:
>> >> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.openjdk.java.net%2Fpipermail%2Fhotspot-compiler-dev%2F2021-May%2F047486.html&data=04%7C01%7CDivino.Cesar%40microsoft.com%7C027f2da3f2e14f914c2608d99b3c195e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637711504731032568%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=S65Ko1Jss1PRksoLs9w1Ci7lH7Cprikus4goFUXDdL4%3D&reserved=0
> <https://urldefense.com/v3/__https://nam06.safelinks.protection.outlook.com/?url=https*3A*2F*2Fmail.openjdk.java.net*2Fpipermail*2Fhotspot-compiler-dev*2F2021-May*2F047486.html&data=04*7C01*7CDivino.Cesar*40microsoft.com*7C027f2da3f2e14f914c2608d99b3c195e*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637711504731032568*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000&sdata=S65Ko1Jss1PRksoLs9w1Ci7lH7Cprikus4goFUXDdL4*3D&reserved=0__;JSUlJSUlJSUlJSUlJSUlJSUlJSU!!ACWV5N9M2RV99hQ!a2yltdzJejKSFAqSoN7N5X0yqmRW0Nb7yS2_bBOlp6rrf8axPBXgR9arXi4ZrghkjcrRWA$>
>>
>> I'd love to hear from them about their experience with these issues and if they
>> have any plans to work on this moving forward! I'll ping them on the thread
>> that you linked above.
>
> Yes, I would like them to participate too (CCing to Paul). They sent proposal almost 6 months ago and we did not hear
> any additional information after Vladimir Ivanov replied.
>
> Regards,
> Vladimir K
>
>>
>>
>> Regards,
>> Cesar
>> ------------------------------------------------------------------------------------------------------------------------
>> *From:* Vladimir Kozlov <vladimir.kozlov at oracle.com>
>> *Sent:* October 27, 2021 10:26 AM
>> *To:* Tobias Hartmann <tobias.hartmann at oracle.com>; Cesar Soares Lucas <Divino.Cesar at microsoft.com>; Ron Pressler
>> <ron.pressler at oracle.com>
>> *Cc:* John Rose <john.r.rose at oracle.com>; Mark Reinhold <mark.reinhold at oracle.com>; hotspot-dev at openjdk.java.net
>> <hotspot-dev at openjdk.java.net>; Brian Stafford <Brian.Stafford at microsoft.com>; Martijn Verburg
>> <Martijn.Verburg at microsoft.com>
>> *Subject:* Re: [External] : Re: RFC - Improving C2 Escape Analysis
>> First. Thank you, Cesar, for collecting data about C2 EA shortcomings.
>>
>> I agree with cases Tobias pointed as possible starting points to improve EA.
>>
>> Yes, finding solution for allocation merges (or NULL) is a pain. I spent some time investigating possible solutions for
>> it but "no cigar". May be we do indead need control flow analysis to resolve this.
>>
>> I looked through JBS and found few issues which are not required to write new EA:
>>
>> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugs.openjdk.java.net%2Fbrowse%2FJDK-7149991&data=04%7C01%7CDivino.Cesar%40microsoft.com%7C027f2da3f2e14f914c2608d99b3c195e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637711504731032568%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=w1OPBcpSVInagqRbMJ9%2BB0XYxxm84DWKGltPT5Btjss%3D&reserved=0
> <https://urldefense.com/v3/__https://nam06.safelinks.protection.outlook.com/?url=https*3A*2F*2Fbugs.openjdk.java.net*2Fbrowse*2FJDK-7149991&data=04*7C01*7CDivino.Cesar*40microsoft.com*7C027f2da3f2e14f914c2608d99b3c195e*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637711504731032568*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000&sdata=w1OPBcpSVInagqRbMJ9*2BB0XYxxm84DWKGltPT5Btjss*3D&reserved=0__;JSUlJSUlJSUlJSUlJSUlJSUlJQ!!ACWV5N9M2RV99hQ!a2yltdzJejKSFAqSoN7N5X0yqmRW0Nb7yS2_bBOlp6rrf8axPBXgR9arXi4ZrgheYcbU4Q$>
>
>> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Furldefense.com%2Fv3%2F__https%3A%2F%2Fnam06.safelinks.protection.outlook.com%2F%3Furl%3Dhttps*3A*2F*2Fbugs.openjdk.java.net*2Fbrowse*2FJDK-7149991%26amp%3Bdata%3D04*7C01*7CDivino.Cesar*40microsoft.com*7C63920cb1798f48c3487508d9996efd44*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637709524262611242*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000%26amp%3Bsdata%3DQrR7*2BGxXon4ToV6x3PhtQzZGl5tF7f1RUDbEi2AMTqA*3D%26amp%3Breserved%3D0__%3BJSUlJSUlJSUlJSUlJSUlJSUlJQ!!ACWV5N9M2RV99hQ!Y9n_pFC3a0ZG4KrWKJhrn9mlogJtuWmPqPlYgyNTBHWD2o2yhpaz9QpDsRbFhx0nlxftOg%24&data=04%7C01%7CDivino.Cesar%40microsoft.com%7C027f2da3f2e14f914c2608d99b3c195e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637711504731032568%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Z%2B99B925iq8y%2BCcl%2Bs3zsocygNtEpAl%2F22xgX5CJcFg%3D&reserved=0
> <https://urldefense.com/v3/__https://nam06.safelinks.protection.outlook.com/?url=https*3A*2F*2Furldefense.com*2Fv3*2F__https*3A*2F*2Fnam06.safelinks.protection.outlook.com*2F*3Furl*3Dhttps*3A*2F*2Fbugs.openjdk.java.net*2Fbrowse*2FJDK-7149991*26amp*3Bdata*3D04*7C01*7CDivino.Cesar*40microsoft.com*7C63920cb1798f48c3487508d9996efd44*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637709524262611242*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000*26amp*3Bsdata*3DQrR7*2BGxXon4ToV6x3PhtQzZGl5tF7f1RUDbEi2AMTqA*3D*26amp*3Breserved*3D0__*3BJSUlJSUlJSUlJSUlJSUlJSUlJQ!!ACWV5N9M2RV99hQ!Y9n_pFC3a0ZG4KrWKJhrn9mlogJtuWmPqPlYgyNTBHWD2o2yhpaz9QpDsRbFhx0nlxftOg*24&data=04*7C01*7CDivino.Cesar*40microsoft.com*7C027f2da3f2e14f914c2608d99b3c195e*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637711504731032568*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000&sdata=Z*2B99B925iq8y*2BCcl*2Bs3zsocygNtEpAl*2F22xgX5CJcFg*3D&reserved=0__;JSUlJSUlJSUlJSUqKioqKiUlJSoqKioqKioqKioqKiUlJSoqJSUlJSUlJSUlJSUlJSUlJSUlJSUlJQ!!ACWV5N9M2RV99hQ!a2yltdzJejKSFAqSoN7N5X0yqmRW0Nb7yS2_bBOlp6rrf8axPBXgR9arXi4ZrgiwzRBBlA$>>
>> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugs.openjdk.java.net%2Fbrowse%2FJDK-8059378&data=04%7C01%7CDivino.Cesar%40microsoft.com%7C027f2da3f2e14f914c2608d99b3c195e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637711504731042513%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=iFo%2Farh7mS777oQl705t5pznFZttfMGqFO6%2BQpr71uY%3D&reserved=0
> <https://urldefense.com/v3/__https://nam06.safelinks.protection.outlook.com/?url=https*3A*2F*2Fbugs.openjdk.java.net*2Fbrowse*2FJDK-8059378&data=04*7C01*7CDivino.Cesar*40microsoft.com*7C027f2da3f2e14f914c2608d99b3c195e*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637711504731042513*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000&sdata=iFo*2Farh7mS777oQl705t5pznFZttfMGqFO6*2BQpr71uY*3D&reserved=0__;JSUlJSUlJSUlJSUlJSUlJSUlJSU!!ACWV5N9M2RV99hQ!a2yltdzJejKSFAqSoN7N5X0yqmRW0Nb7yS2_bBOlp6rrf8axPBXgR9arXi4Zrgjj331Sew$>
>
>> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Furldefense.com%2Fv3%2F__https%3A%2F%2Fnam06.safelinks.protection.outlook.com%2F%3Furl%3Dhttps*3A*2F*2Fbugs.openjdk.java.net*2Fbrowse*2FJDK-8059378%26amp%3Bdata%3D04*7C01*7CDivino.Cesar*40microsoft.com*7C63920cb1798f48c3487508d9996efd44*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637709524262611242*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000%26amp%3Bsdata%3DrsMHgOyTDYF*2B*2Ba38jGeown5TcZfIEDucAWI5QuAaTd4*3D%26amp%3Breserved%3D0__%3BJSUlJSUlJSUlJSUlJSUlJSUlJSU!!ACWV5N9M2RV99hQ!Y9n_pFC3a0ZG4KrWKJhrn9mlogJtuWmPqPlYgyNTBHWD2o2yhpaz9QpDsRbFhx3fmFwUkA%24&data=04%7C01%7CDivino.Cesar%40microsoft.com%7C027f2da3f2e14f914c2608d99b3c195e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637711504731042513%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=30G1N2vm%2BTNOgRtDesl3ssesCGuvx2RUqyw6tns%2FDi0%3D&reserved=0
> <https://urldefense.com/v3/__https://nam06.safelinks.protection.outlook.com/?url=https*3A*2F*2Furldefense.com*2Fv3*2F__https*3A*2F*2Fnam06.safelinks.protection.outlook.com*2F*3Furl*3Dhttps*3A*2F*2Fbugs.openjdk.java.net*2Fbrowse*2FJDK-8059378*26amp*3Bdata*3D04*7C01*7CDivino.Cesar*40microsoft.com*7C63920cb1798f48c3487508d9996efd44*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637709524262611242*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000*26amp*3Bsdata*3DrsMHgOyTDYF*2B*2Ba38jGeown5TcZfIEDucAWI5QuAaTd4*3D*26amp*3Breserved*3D0__*3BJSUlJSUlJSUlJSUlJSUlJSUlJSU!!ACWV5N9M2RV99hQ!Y9n_pFC3a0ZG4KrWKJhrn9mlogJtuWmPqPlYgyNTBHWD2o2yhpaz9QpDsRbFhx3fmFwUkA*24&data=04*7C01*7CDivino.Cesar*40microsoft.com*7C027f2da3f2e14f914c2608d99b3c195e*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637711504731042513*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000&sdata=30G1N2vm*2BTNOgRtDesl3ssesCGuvx2RUqyw6tns*2FDi0*3D&reserved=0__;JSUlJSUlJSUlJSUqKioqKiUlJSoqKioqKioqKioqKiUlJSoqKiUlJSUlJSUlJSUlJSUlJSUlJSUl!!ACWV5N9M2RV99hQ!a2yltdzJejKSFAqSoN7N5X0yqmRW0Nb7yS2_bBOlp6rrf8axPBXgR9arXi4ZrgjBgIowbA$>>
>> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugs.openjdk.java.net%2Fbrowse%2FJDK-8073358&data=04%7C01%7CDivino.Cesar%40microsoft.com%7C027f2da3f2e14f914c2608d99b3c195e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637711504731042513%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=wkSutLxq2%2B%2FqUsUViubbNO97gQQ9I91%2FarNQqQxIFC8%3D&reserved=0
> <https://urldefense.com/v3/__https://nam06.safelinks.protection.outlook.com/?url=https*3A*2F*2Fbugs.openjdk.java.net*2Fbrowse*2FJDK-8073358&data=04*7C01*7CDivino.Cesar*40microsoft.com*7C027f2da3f2e14f914c2608d99b3c195e*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637711504731042513*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000&sdata=wkSutLxq2*2B*2FqUsUViubbNO97gQQ9I91*2FarNQqQxIFC8*3D&reserved=0__;JSUlJSUlJSUlJSUlJSUlJSUlJSUl!!ACWV5N9M2RV99hQ!a2yltdzJejKSFAqSoN7N5X0yqmRW0Nb7yS2_bBOlp6rrf8axPBXgR9arXi4Zrgh-8TmvrA$>
>
>> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Furldefense.com%2Fv3%2F__https%3A%2F%2Fnam06.safelinks.protection.outlook.com%2F%3Furl%3Dhttps*3A*2F*2Fbugs.openjdk.java.net*2Fbrowse*2FJDK-8073358%26amp%3Bdata%3D04*7C01*7CDivino.Cesar*40microsoft.com*7C63920cb1798f48c3487508d9996efd44*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637709524262611242*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000%26amp%3Bsdata%3DCypHNEd5B5EymTYMnF6jf30LspY6sBqXoz1sypE2tSg*3D%26amp%3Breserved%3D0__%3BJSUlJSUlJSUlJSUlJSUlJSUl!!ACWV5N9M2RV99hQ!Y9n_pFC3a0ZG4KrWKJhrn9mlogJtuWmPqPlYgyNTBHWD2o2yhpaz9QpDsRbFhx2VVMtprg%24&data=04%7C01%7CDivino.Cesar%40microsoft.com%7C027f2da3f2e14f914c2608d99b3c195e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637711504731042513%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=qcUOOBHFXNmPXPvG66KDzdlFQvTZ453fdsUliva4W8A%3D&reserved=0
> <https://urldefense.com/v3/__https://nam06.safelinks.protection.outlook.com/?url=https*3A*2F*2Furldefense.com*2Fv3*2F__https*3A*2F*2Fnam06.safelinks.protection.outlook.com*2F*3Furl*3Dhttps*3A*2F*2Fbugs.openjdk.java.net*2Fbrowse*2FJDK-8073358*26amp*3Bdata*3D04*7C01*7CDivino.Cesar*40microsoft.com*7C63920cb1798f48c3487508d9996efd44*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637709524262611242*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000*26amp*3Bsdata*3DCypHNEd5B5EymTYMnF6jf30LspY6sBqXoz1sypE2tSg*3D*26amp*3Breserved*3D0__*3BJSUlJSUlJSUlJSUlJSUlJSUl!!ACWV5N9M2RV99hQ!Y9n_pFC3a0ZG4KrWKJhrn9mlogJtuWmPqPlYgyNTBHWD2o2yhpaz9QpDsRbFhx2VVMtprg*24&data=04*7C01*7CDivino.Cesar*40microsoft.com*7C027f2da3f2e14f914c2608d99b3c195e*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637711504731042513*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000&sdata=qcUOOBHFXNmPXPvG66KDzdlFQvTZ453fdsUliva4W8A*3D&reserved=0__;JSUlJSUlJSUlJSUqKioqKiUlJSoqKioqKioqKioqKiUlJSolJSUlJSUlJSUlJSUlJSUlJSU!!ACWV5N9M2RV99hQ!a2yltdzJejKSFAqSoN7N5X0yqmRW0Nb7yS2_bBOlp6rrf8axPBXgR9arXi4ZrghnfIIXrA$>>
>> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugs.openjdk.java.net%2Fbrowse%2FJDK-8155769&data=04%7C01%7CDivino.Cesar%40microsoft.com%7C027f2da3f2e14f914c2608d99b3c195e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637711504731042513%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=oCMhOgnX0FjV4j%2Bymy7z8Op6IFfd8z71AZ%2BZlqbYWSU%3D&reserved=0
> <https://urldefense.com/v3/__https://nam06.safelinks.protection.outlook.com/?url=https*3A*2F*2Fbugs.openjdk.java.net*2Fbrowse*2FJDK-8155769&data=04*7C01*7CDivino.Cesar*40microsoft.com*7C027f2da3f2e14f914c2608d99b3c195e*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637711504731042513*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000&sdata=oCMhOgnX0FjV4j*2Bymy7z8Op6IFfd8z71AZ*2BZlqbYWSU*3D&reserved=0__;JSUlJSUlJSUlJSUlJSUlJSUlJSU!!ACWV5N9M2RV99hQ!a2yltdzJejKSFAqSoN7N5X0yqmRW0Nb7yS2_bBOlp6rrf8axPBXgR9arXi4ZrggugJT1_A$>
>
>> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Furldefense.com%2Fv3%2F__https%3A%2F%2Fnam06.safelinks.protection.outlook.com%2F%3Furl%3Dhttps*3A*2F*2Fbugs.openjdk.java.net*2Fbrowse*2FJDK-8155769%26amp%3Bdata%3D04*7C01*7CDivino.Cesar*40microsoft.com*7C63920cb1798f48c3487508d9996efd44*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637709524262611242*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000%26amp%3Bsdata%3DBE170*2BZrn2c2*2FDLcijZsol25q2zY5X5idHXXwjCn7ug*3D%26amp%3Breserved%3D0__%3BJSUlJSUlJSUlJSUlJSUlJSUlJSU!!ACWV5N9M2RV99hQ!Y9n_pFC3a0ZG4KrWKJhrn9mlogJtuWmPqPlYgyNTBHWD2o2yhpaz9QpDsRbFhx3hRRGkQg%24&data=04%7C01%7CDivino.Cesar%40microsoft.com%7C027f2da3f2e14f914c2608d99b3c195e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637711504731042513%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Irx%2Bc6pTAZmB6ipB2IF2ma%2BVE7t0mXK%2Fl7%2BiwhPntPA%3D&reserved=0
> <https://urldefense.com/v3/__https://nam06.safelinks.protection.outlook.com/?url=https*3A*2F*2Furldefense.com*2Fv3*2F__https*3A*2F*2Fnam06.safelinks.protection.outlook.com*2F*3Furl*3Dhttps*3A*2F*2Fbugs.openjdk.java.net*2Fbrowse*2FJDK-8155769*26amp*3Bdata*3D04*7C01*7CDivino.Cesar*40microsoft.com*7C63920cb1798f48c3487508d9996efd44*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637709524262611242*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000*26amp*3Bsdata*3DBE170*2BZrn2c2*2FDLcijZsol25q2zY5X5idHXXwjCn7ug*3D*26amp*3Breserved*3D0__*3BJSUlJSUlJSUlJSUlJSUlJSUlJSU!!ACWV5N9M2RV99hQ!Y9n_pFC3a0ZG4KrWKJhrn9mlogJtuWmPqPlYgyNTBHWD2o2yhpaz9QpDsRbFhx3hRRGkQg*24&data=04*7C01*7CDivino.Cesar*40microsoft.com*7C027f2da3f2e14f914c2608d99b3c195e*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637711504731042513*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000&sdata=Irx*2Bc6pTAZmB6ipB2IF2ma*2BVE7t0mXK*2Fl7*2BiwhPntPA*3D&reserved=0__;JSUlJSUlJSUlJSUqKioqKiUlJSoqKioqKioqKioqKiUlJSoqKiUlJSUlJSUlJSUlJSUlJSUlJSUlJSU!!ACWV5N9M2RV99hQ!a2yltdzJejKSFAqSoN7N5X0yqmRW0Nb7yS2_bBOlp6rrf8axPBXgR9arXi4ZrgiWf_hS0w$>>
>>
>> Tobias also has fix prototype for next bug which was not fixed yet:
>> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugs.openjdk.java.net%2Fbrowse%2FJDK-8236493&data=04%7C01%7CDivino.Cesar%40microsoft.com%7C027f2da3f2e14f914c2608d99b3c195e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637711504731042513%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=KCLrH3%2FnNhLANzyGrbCLILwuDUfql5h3Lx0REVsol%2F0%3D&reserved=0
> <https://urldefense.com/v3/__https://nam06.safelinks.protection.outlook.com/?url=https*3A*2F*2Fbugs.openjdk.java.net*2Fbrowse*2FJDK-8236493&data=04*7C01*7CDivino.Cesar*40microsoft.com*7C027f2da3f2e14f914c2608d99b3c195e*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637711504731042513*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000&sdata=KCLrH3*2FnNhLANzyGrbCLILwuDUfql5h3Lx0REVsol*2F0*3D&reserved=0__;JSUlJSUlJSUlJSUlJSUlJSUlJSU!!ACWV5N9M2RV99hQ!a2yltdzJejKSFAqSoN7N5X0yqmRW0Nb7yS2_bBOlp6rrf8axPBXgR9arXi4Zrgjz1pKoaQ$>
>
>> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Furldefense.com%2Fv3%2F__https%3A%2F%2Fnam06.safelinks.protection.outlook.com%2F%3Furl%3Dhttps*3A*2F*2Fbugs.openjdk.java.net*2Fbrowse*2FJDK-8236493%26amp%3Bdata%3D04*7C01*7CDivino.Cesar*40microsoft.com*7C63920cb1798f48c3487508d9996efd44*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637709524262611242*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000%26amp%3Bsdata%3DfqaQ7zhAHGdsnUcw7wjA6c4XX96Aaa3acTIzc6*2FJXmY*3D%26amp%3Breserved%3D0__%3BJSUlJSUlJSUlJSUlJSUlJSUlJQ!!ACWV5N9M2RV99hQ!Y9n_pFC3a0ZG4KrWKJhrn9mlogJtuWmPqPlYgyNTBHWD2o2yhpaz9QpDsRbFhx2urgFigw%24&data=04%7C01%7CDivino.Cesar%40microsoft.com%7C027f2da3f2e14f914c2608d99b3c195e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637711504731042513%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=TEd4GjLj1FC%2BwwBaix%2B0JwWoSX7ch0nCsVmsI4VDc%2B4%3D&reserved=0
> <https://urldefense.com/v3/__https://nam06.safelinks.protection.outlook.com/?url=https*3A*2F*2Furldefense.com*2Fv3*2F__https*3A*2F*2Fnam06.safelinks.protection.outlook.com*2F*3Furl*3Dhttps*3A*2F*2Fbugs.openjdk.java.net*2Fbrowse*2FJDK-8236493*26amp*3Bdata*3D04*7C01*7CDivino.Cesar*40microsoft.com*7C63920cb1798f48c3487508d9996efd44*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637709524262611242*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000*26amp*3Bsdata*3DfqaQ7zhAHGdsnUcw7wjA6c4XX96Aaa3acTIzc6*2FJXmY*3D*26amp*3Breserved*3D0__*3BJSUlJSUlJSUlJSUlJSUlJSUlJQ!!ACWV5N9M2RV99hQ!Y9n_pFC3a0ZG4KrWKJhrn9mlogJtuWmPqPlYgyNTBHWD2o2yhpaz9QpDsRbFhx2urgFigw*24&data=04*7C01*7CDivino.Cesar*40microsoft.com*7C027f2da3f2e14f914c2608d99b3c195e*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637711504731042513*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000&sdata=TEd4GjLj1FC*2BwwBaix*2B0JwWoSX7ch0nCsVmsI4VDc*2B4*3D&reserved=0__;JSUlJSUlJSUlJSUqKioqKiUlJSoqKioqKioqKioqKiUlJSoqJSUlJSUlJSUlJSUlJSUlJSUlJSUl!!ACWV5N9M2RV99hQ!a2yltdzJejKSFAqSoN7N5X0yqmRW0Nb7yS2_bBOlp6rrf8axPBXgR9arXi4ZrghE9H_vWw$>>
>>
>> Ther are 2 test files with small methods for different EA cases I used to see how EA works:
>>
>> test/hotspot/jtreg/compiler/escapeAnalysis/Test6726999.java
>> test/hotspot/jtreg/compiler/escapeAnalysis/Test6689060.java
>>
>> You can start looking on above RFE/bug or run these tests and see why scalarization failed for some cases. Except for
>> known merge issue:
>>
>> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugs.openjdk.java.net%2Fbrowse%2FJDK-6853701&data=04%7C01%7CDivino.Cesar%40microsoft.com%7C027f2da3f2e14f914c2608d99b3c195e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637711504731042513%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=vYIhnXEGGw%2FLx83NKcCAu0Vdt382TngtfpQ%2BCDBq7cU%3D&reserved=0
> <https://urldefense.com/v3/__https://nam06.safelinks.protection.outlook.com/?url=https*3A*2F*2Fbugs.openjdk.java.net*2Fbrowse*2FJDK-6853701&data=04*7C01*7CDivino.Cesar*40microsoft.com*7C027f2da3f2e14f914c2608d99b3c195e*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637711504731042513*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000&sdata=vYIhnXEGGw*2FLx83NKcCAu0Vdt382TngtfpQ*2BCDBq7cU*3D&reserved=0__;JSUlJSUlJSUlJSUlJSUlJSUlJSU!!ACWV5N9M2RV99hQ!a2yltdzJejKSFAqSoN7N5X0yqmRW0Nb7yS2_bBOlp6rrf8axPBXgR9arXi4ZrgjXHRgx9A$>
>
>> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Furldefense.com%2Fv3%2F__https%3A%2F%2Fnam06.safelinks.protection.outlook.com%2F%3Furl%3Dhttps*3A*2F*2Fbugs.openjdk.java.net*2Fbrowse*2FJDK-6853701%26amp%3Bdata%3D04*7C01*7CDivino.Cesar*40microsoft.com*7C63920cb1798f48c3487508d9996efd44*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637709524262621193*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000%26amp%3Bsdata%3DF*2Bz1CFuCK6ZgXi5*2FWOcOgBWuXKeap0oZJh4873QKRgk*3D%26amp%3Breserved%3D0__%3BJSUlJSUlJSUlJSUlJSUlJSUlJSU!!ACWV5N9M2RV99hQ!Y9n_pFC3a0ZG4KrWKJhrn9mlogJtuWmPqPlYgyNTBHWD2o2yhpaz9QpDsRbFhx1olloG2Q%24&data=04%7C01%7CDivino.Cesar%40microsoft.com%7C027f2da3f2e14f914c2608d99b3c195e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637711504731042513%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=1G7%2FG24Dpl23jat0F6EMv7EU8ezR2RoviINRcopQwpw%3D&reserved=0
> <https://urldefense.com/v3/__https://nam06.safelinks.protection.outlook.com/?url=https*3A*2F*2Furldefense.com*2Fv3*2F__https*3A*2F*2Fnam06.safelinks.protection.outlook.com*2F*3Furl*3Dhttps*3A*2F*2Fbugs.openjdk.java.net*2Fbrowse*2FJDK-6853701*26amp*3Bdata*3D04*7C01*7CDivino.Cesar*40microsoft.com*7C63920cb1798f48c3487508d9996efd44*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637709524262621193*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000*26amp*3Bsdata*3DF*2Bz1CFuCK6ZgXi5*2FWOcOgBWuXKeap0oZJh4873QKRgk*3D*26amp*3Breserved*3D0__*3BJSUlJSUlJSUlJSUlJSUlJSUlJSU!!ACWV5N9M2RV99hQ!Y9n_pFC3a0ZG4KrWKJhrn9mlogJtuWmPqPlYgyNTBHWD2o2yhpaz9QpDsRbFhx1olloG2Q*24&data=04*7C01*7CDivino.Cesar*40microsoft.com*7C027f2da3f2e14f914c2608d99b3c195e*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637711504731042513*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000&sdata=1G7*2FG24Dpl23jat0F6EMv7EU8ezR2RoviINRcopQwpw*3D&reserved=0__;JSUlJSUlJSUlJSUqKioqKiUlJSoqKioqKioqKioqKiUlJSoqKiUlJSUlJSUlJSUlJSUlJSUlJSU!!ACWV5N9M2RV99hQ!a2yltdzJejKSFAqSoN7N5X0yqmRW0Nb7yS2_bBOlp6rrf8axPBXgR9arXi4Zrgg10-OyiA$>>
>>
>> I am currently looking on iterative EA. Do more EA rounds if we can eliminate more connected allocations. It was
>> proposed by Vladimir Ivanov and I have working prototype.
>>
>> There is also suggestin from Amazon Java group about "C2 Partial Escape Analysis" which needs more discsussion:
>> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.openjdk.java.net%2Fpipermail%2Fhotspot-compiler-dev%2F2021-May%2F047486.html&data=04%7C01%7CDivino.Cesar%40microsoft.com%7C027f2da3f2e14f914c2608d99b3c195e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637711504731052481%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=VUDTiLcJzwQkcUHQzLk7vcOIjmqSKQt8glKSrTHRX6w%3D&reserved=0
> <https://urldefense.com/v3/__https://nam06.safelinks.protection.outlook.com/?url=https*3A*2F*2Fmail.openjdk.java.net*2Fpipermail*2Fhotspot-compiler-dev*2F2021-May*2F047486.html&data=04*7C01*7CDivino.Cesar*40microsoft.com*7C027f2da3f2e14f914c2608d99b3c195e*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637711504731052481*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000&sdata=VUDTiLcJzwQkcUHQzLk7vcOIjmqSKQt8glKSrTHRX6w*3D&reserved=0__;JSUlJSUlJSUlJSUlJSUlJSUlJSU!!ACWV5N9M2RV99hQ!a2yltdzJejKSFAqSoN7N5X0yqmRW0Nb7yS2_bBOlp6rrf8axPBXgR9arXi4ZrgihwSqtAQ$>
>
>> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Furldefense.com%2Fv3%2F__https%3A%2F%2Fnam06.safelinks.protection.outlook.com%2F%3Furl%3Dhttps*3A*2F*2Fmail.openjdk.java.net*2Fpipermail*2Fhotspot-compiler-dev*2F2021-May*2F047486.html%26amp%3Bdata%3D04*7C01*7CDivino.Cesar*40microsoft.com*7C63920cb1798f48c3487508d9996efd44*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637709524262621193*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000%26amp%3Bsdata%3DQFszHSDnPkYLBkjqzNkmU92P6VlBFSok1mOku5sNudw*3D%26amp%3Breserved%3D0__%3BJSUlJSUlJSUlJSUlJSUlJSUlJSU!!ACWV5N9M2RV99hQ!Y9n_pFC3a0ZG4KrWKJhrn9mlogJtuWmPqPlYgyNTBHWD2o2yhpaz9QpDsRbFhx2tIPFENw%24&data=04%7C01%7CDivino.Cesar%40microsoft.com%7C027f2da3f2e14f914c2608d99b3c195e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637711504731052481%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=eEcFdBEBJb%2Bg%2F2NYA9mp3%2BaBRhshP8Nk9R7lCIrpc7A%3D&reserved=0
> <https://urldefense.com/v3/__https://nam06.safelinks.protection.outlook.com/?url=https*3A*2F*2Furldefense.com*2Fv3*2F__https*3A*2F*2Fnam06.safelinks.protection.outlook.com*2F*3Furl*3Dhttps*3A*2F*2Fmail.openjdk.java.net*2Fpipermail*2Fhotspot-compiler-dev*2F2021-May*2F047486.html*26amp*3Bdata*3D04*7C01*7CDivino.Cesar*40microsoft.com*7C63920cb1798f48c3487508d9996efd44*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637709524262621193*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000*26amp*3Bsdata*3DQFszHSDnPkYLBkjqzNkmU92P6VlBFSok1mOku5sNudw*3D*26amp*3Breserved*3D0__*3BJSUlJSUlJSUlJSUlJSUlJSUlJSU!!ACWV5N9M2RV99hQ!Y9n_pFC3a0ZG4KrWKJhrn9mlogJtuWmPqPlYgyNTBHWD2o2yhpaz9QpDsRbFhx2tIPFENw*24&data=04*7C01*7CDivino.Cesar*40microsoft.com*7C027f2da3f2e14f914c2608d99b3c195e*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637711504731052481*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000&sdata=eEcFdBEBJb*2Bg*2F2NYA9mp3*2BaBRhshP8Nk9R7lCIrpc7A*3D&reserved=0__;JSUlJSUlJSUlJSUqKioqKioqJSUlKioqKioqKioqKioqJSUlKiUlJSUlJSUlJSUlJSUlJSUlJSUlJQ!!ACWV5N9M2RV99hQ!a2yltdzJejKSFAqSoN7N5X0yqmRW0Nb7yS2_bBOlp6rrf8axPBXgR9arXi4ZrggBRWcARQ$>>
>>
>> Thanks,
>> Vladimir K
>>
>> On 10/27/21 3:04 AM, Tobias Hartmann wrote:
>>> Hi Cesar,
>>>
>>> On 27.10.21 08:20, Cesar Soares Lucas wrote:
>>>> Right. I was suspecting this to be the most critical issue indeed. However, I
>>>> didn't know there was a case where "... the object does not escape on any paths
>>>> but control flow is too complicated for EA to prove that." Is this an issue
>>>> tracked in JBS or perhaps you can show me an example where this happens?
>>>
>>> Sure, here are four examples of EA and/or scalarization failing due to complicated control/data
>>> flow: https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcr.openjdk.java.net%2F~thartmann%2FEA_examples&data=04%7C01%7CDivino.Cesar%40microsoft.com%7C027f2da3f2e14f914c2608d99b3c195e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637711504731052481%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=jv5lNO928mVyKHHlZIKyQ2eZGfu4W9ADV%2BlyX2IAvlk%3D&reserved=0
> <https://urldefense.com/v3/__https://nam06.safelinks.protection.outlook.com/?url=https*3A*2F*2Fcr.openjdk.java.net*2F*thartmann*2FEA_examples&data=04*7C01*7CDivino.Cesar*40microsoft.com*7C027f2da3f2e14f914c2608d99b3c195e*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637711504731052481*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000&sdata=jv5lNO928mVyKHHlZIKyQ2eZGfu4W9ADV*2BlyX2IAvlk*3D&reserved=0__;JSUlJX4lJSUlJSUlJSUlJSUlJSU!!ACWV5N9M2RV99hQ!a2yltdzJejKSFAqSoN7N5X0yqmRW0Nb7yS2_bBOlp6rrf8axPBXgR9arXi4Zrgjd4sxUaQ$>
>
>> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Furldefense.com%2Fv3%2F__https%3A%2F%2Fnam06.safelinks.protection.outlook.com%2F%3Furl%3Dhttps*3A*2F*2Fcr.openjdk.java.net*2F*thartmann*2FEA_examples%26amp%3Bdata%3D04*7C01*7CDivino.Cesar*40microsoft.com*7C63920cb1798f48c3487508d9996efd44*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637709524262621193*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000%26amp%3Bsdata%3DYbaF4T0zt9dle23nulvUWWLktuTvaWFWENQHD7Q13CE*3D%26amp%3Breserved%3D0__%3BJSUlJX4lJSUlJSUlJSUlJSUlJQ!!ACWV5N9M2RV99hQ!Y9n_pFC3a0ZG4KrWKJhrn9mlogJtuWmPqPlYgyNTBHWD2o2yhpaz9QpDsRbFhx03YEOG3w%24&data=04%7C01%7CDivino.Cesar%40microsoft.com%7C027f2da3f2e14f914c2608d99b3c195e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637711504731052481%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=1eI2my4BwLVxIqImsawvnY1sAHVV2Jth2lnMBmMLwFI%3D&reserved=0
> <https://urldefense.com/v3/__https://nam06.safelinks.protection.outlook.com/?url=https*3A*2F*2Furldefense.com*2Fv3*2F__https*3A*2F*2Fnam06.safelinks.protection.outlook.com*2F*3Furl*3Dhttps*3A*2F*2Fcr.openjdk.java.net*2F*thartmann*2FEA_examples*26amp*3Bdata*3D04*7C01*7CDivino.Cesar*40microsoft.com*7C63920cb1798f48c3487508d9996efd44*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637709524262621193*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000*26amp*3Bsdata*3DYbaF4T0zt9dle23nulvUWWLktuTvaWFWENQHD7Q13CE*3D*26amp*3Breserved*3D0__*3BJSUlJX4lJSUlJSUlJSUlJSUlJQ!!ACWV5N9M2RV99hQ!Y9n_pFC3a0ZG4KrWKJhrn9mlogJtuWmPqPlYgyNTBHWD2o2yhpaz9QpDsRbFhx03YEOG3w*24&data=04*7C01*7CDivino.Cesar*40microsoft.com*7C027f2da3f2e14f914c2608d99b3c195e*7C72f988bf86f141af91ab2d7cd011db47*7C1*7C0*7C637711504731052481*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000&sdata=1eI2my4BwLVxIqImsawvnY1sAHVV2Jth2lnMBmMLwFI*3D&reserved=0__;JSUlJSUlJSUlJSUqKioqKiolJSUqKioqKioqKioqKiolJSUqJSUlJSUlJSUlJSUlJSUlJSUl!!ACWV5N9M2RV99hQ!a2yltdzJejKSFAqSoN7N5X0yqmRW0Nb7yS2_bBOlp6rrf8axPBXgR9arXi4ZrgiSyzgF4A$>>
>>>
>>> All examples would completely fold with inline types (Valhalla).
>>>
>>> I'm not sure if these issues are tracked by JBS issues but there's most likely an overlap with some
>>> of the issues you already described.
>>>
>>> Best regards,
>>> Tobias
>>>
More information about the hotspot-dev
mailing list