RFR: aaload/aastore profiling

Frederic Parain frederic.parain at oracle.com
Wed Nov 20 20:55:12 UTC 2019


Roland,

Thank you for fixing this and for having implemented the interpreter part.
I’ve just looked at the x86 interpreter code:

src/hotspot/cpu/x86/interp_masm_x86.cpp
  
  No comment

src/hotspot/cpu/x86/interp_masm_x86.hpp

  No comment

src/hotspot/cpu/x86/macroAssembler_x86.cpp

  No comment

src/hotspot/cpu/x86/macroAssembler_x86.hpp

  No comment

src/hotspot/cpu/x86/templateTable_x86.cpp

    line 822-823: single blank line is enough


I don’t know if a CR has already been created or not, but please, check
that it has the 'platform-specific’ tag so Dmitry could easily find
that there’s some work to do for the Aarch64 platform.

Regards,

Fred



> On Nov 14, 2019, at 04:55, Roland Westrelin <rwestrel at redhat.com> wrote:
> 
> 
> http://cr.openjdk.java.net/~roland/valhalla/aaload-aastore-profiling/
> 
> This patch adds profiling for aaload and aastore in order to improve
> code generation for inline types.
> 
> Array type, element type whether the array is flat or null free are
> collected for both aaload and aastore. aastore already collects some
> profiling (element type). In practice, the new profile collection scheme
> at aastore replaces the old one.
> 
> The patch includes changes to C2 so it leverages the new profiling. At
> an aaload, if profiling reports a single array type, c2 casts the array
> type to the profiled type if it helps avoid a flat array
> check. Otherwise, if profiling reports no accurate type for the array,
> c2 can cast the array to non flat or non null free based on profile
> data.
> 
> MonomorphicArrayCheck is also modified to take advantage of the new
> profiling. So at an aastore, if profile data sugggests an array type,
> the array should be always casted to that array type.
> 
> Roland.
> 



More information about the valhalla-dev mailing list