Re: RFR: 8281168: Micro-optimize VarForm.getMemberName for interpreter [v2]

2022-02-08 Thread Mandy Chung
On Tue, 8 Feb 2022 17:11:45 GMT, Aleksey Shipilev wrote: >> I was looking for easy things to do to improve `java.lang.invoke` cold >> performance. One of the things is inlining `VarForm.getMemberName` a bit, so >> that interpreter does not have to call through `getMemberNameOrNull`. >> >> Ther

Re: RFR: 8281168: Micro-optimize VarForm.getMemberName for interpreter [v2]

2022-02-08 Thread Aleksey Shipilev
On Tue, 8 Feb 2022 17:39:37 GMT, Mandy Chung wrote: > This change looks okay. One biggest cold startup overhead we measured for JEP > 416 is due to the overhead of spinning and loading classes of MH/VH. This > micro-optimization focuses on the performance of VH invocation. Do you see > class s

Re: RFR: 8281168: Micro-optimize VarForm.getMemberName for interpreter [v2]

2022-02-08 Thread Mandy Chung
On Tue, 8 Feb 2022 17:11:45 GMT, Aleksey Shipilev wrote: >> I was looking for easy things to do to improve `java.lang.invoke` cold >> performance. One of the things is inlining `VarForm.getMemberName` a bit, so >> that interpreter does not have to call through `getMemberNameOrNull`. >> >> Ther

Re: RFR: 8281168: Micro-optimize VarForm.getMemberName for interpreter [v2]

2022-02-08 Thread Vladimir Ivanov
On Tue, 8 Feb 2022 17:11:45 GMT, Aleksey Shipilev wrote: >> I was looking for easy things to do to improve `java.lang.invoke` cold >> performance. One of the things is inlining `VarForm.getMemberName` a bit, so >> that interpreter does not have to call through `getMemberNameOrNull`. >> >> Ther

Re: RFR: 8281168: Micro-optimize VarForm.getMemberName for interpreter [v2]

2022-02-08 Thread Aleksey Shipilev
On Tue, 8 Feb 2022 14:16:15 GMT, Vladimir Ivanov wrote: >> Aleksey Shipilev has updated the pull request with a new target base due to >> a merge or a rebase. The incremental webrev excludes the unrelated changes >> brought in by the merge/rebase. The pull request contains three additional >>

Re: RFR: 8281168: Micro-optimize VarForm.getMemberName for interpreter [v2]

2022-02-08 Thread Aleksey Shipilev
> I was looking for easy things to do to improve `java.lang.invoke` cold > performance. One of the things is inlining `VarForm.getMemberName` a bit, so > that interpreter does not have to call through `getMemberNameOrNull`. > > There is direct VarHandle benchmark in our corpus: > > > $ CONF=li

Re: RFR: 8281168: Micro-optimize VarForm.getMemberName for interpreter

2022-02-08 Thread Vladimir Ivanov
On Thu, 3 Feb 2022 07:20:28 GMT, Aleksey Shipilev wrote: > I was looking for easy things to do to improve `java.lang.invoke` cold > performance. One of the things is inlining `VarForm.getMemberName` a bit, so > that interpreter does not have to call through `getMemberNameOrNull`. > > There is

Re: RFR: 8281168: Micro-optimize VarForm.getMemberName for interpreter

2022-02-08 Thread Claes Redestad
On Tue, 8 Feb 2022 07:19:16 GMT, Aleksey Shipilev wrote: > Thanks. Any more reviews needed, or I am pushing? I think you're good to push. I suspect some might question making the code ever so little less obvious/maintainable on behalf of interpreter performance, but I think it's well-motivated

Re: RFR: 8281168: Micro-optimize VarForm.getMemberName for interpreter

2022-02-07 Thread Aleksey Shipilev
On Mon, 7 Feb 2022 13:34:24 GMT, Claes Redestad wrote: > Looks reasonable. Thanks. Any more reviews needed, or I am pushing? - PR: https://git.openjdk.java.net/jdk/pull/7333

Re: RFR: 8281168: Micro-optimize VarForm.getMemberName for interpreter

2022-02-07 Thread Claes Redestad
On Thu, 3 Feb 2022 07:20:28 GMT, Aleksey Shipilev wrote: > I was looking for easy things to do to improve `java.lang.invoke` cold > performance. One of the things is inlining `VarForm.getMemberName` a bit, so > that interpreter does not have to call through `getMemberNameOrNull`. > > There is