[vector] RFR: Enable call devirtualization during post-parse phase

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Thu Jul 2 23:02:13 UTC 2020


Sorry for the delay. Pushed:
   https://hg.openjdk.java.net/panama/dev/rev/5b601a43ac88

Best regards,
Vladimir Ivanov

On 02.07.2020 23:41, Viswanathan, Sandhya wrote:
> Hi Vladimir,
> 
> When you get a chance please do push this on to vectorIntrinsics branch.
> 
> Best Regards,
> Sandhya
> 
> 
> -----Original Message-----
> From: panama-dev <panama-dev-bounces at openjdk.java.net> On Behalf Of Vladimir Ivanov
> Sent: Tuesday, June 09, 2020 3:36 PM
> To: panama-dev <panama-dev at openjdk.java.net>
> Subject: [vector] RFR: Enable call devirtualization during post-parse phase
> 
> http://cr.openjdk.java.net/~vlivanov/panama/vector/late_inline_virtual/webrev.00/
> 
> Vector API refactoring broke inlining through virtual calls in some important scenarios (for example, both dot product and matrix multiplication samples [1] are affected [1]).
> 
> The primary root cause is the delay in intrinsification of vector
> operations: unless enough type info is available for receiver during parsing, the call won't be devirtualized (and hence inlined), but intrinsification happens during post-parse phase.
> 
> However, it turned out that the problem is broader and not specific to Vector API. It's not enough just to intrinsify vector operations eagerly.
> 
> Proposed patch is an experimental implementation of post-parse devirtualization (virtual-to-direct call transformation) which then enables post-parse inlining & intrinsification through such calls.
> 
> I'll work on upstreaming the optimization separately since it benefits ordinary Java code as well. Meanwhile, I propose to integrate the interim version into vectorIntrinsics branch right away to avoid surprises during performance analysis.
> 
> Best regards,
> Vladimir Ivanov
> 
> [1]
> https://github.com/richardstartin/vectorbenchmarks/blob/master/src/main/java/com/openkappa/panama/vectorbenchmarks/
> 


More information about the panama-dev mailing list