[PATCH] 8217561 : X86: Add floating-point Math.min/max intrinsics, approval request

B. Blaser bsrbnd at gmail.com
Tue Feb 26 21:14:28 UTC 2019


Hi Vladimir,

On Tue, 26 Feb 2019 at 21:50, Vladimir Kozlov
<vladimir.kozlov at oracle.com> wrote:
>
> Hi Bernard,
>
> Unfortunately HotSpot does not collect profiling information per call site.
> Currently calee's data is collected from all call sites. For example, you can have 2 calls with same *swapped* arguments
> and you will get your balance == 0.
> I would assume if you have multiply call sites in application the profiling data will be "flat" - balance value will be
> near 0.
>
> We did experiment few years ago to collect data per call site but we got negative result - no significant improvement in
> code quality in cost of a lot more memory used for MethodData.
> But your case (and cmove) is special since MDO is small for these methods. The only downside is to implement that you
> will need a lot more complex changes in HotSpot.
>
> https://bugs.openjdk.java.net/browse/JDK-8015416
>
> Note, your code is correct in a sense that it use the same profiling data as it currently used for inlining these
> methods. So I don't want to reject changes from the start.
>
> The only simple solution I can think of is to use intrinsic only for hottest call site. Compare invocation_count with
> caller's call site count to find if it is most used site which contributed the most profiling data.
>
> Thanks,
> Vladimir

Thanks for your feedback.

I pushed webrev.05 to jdk/submit a while ago but once I have the
results I'll update the patch as you suggested; the heuristic will
bail out if the caller didn't contribute enough to the statistics, let
say something like at least 80%?

Bernard


More information about the hotspot-compiler-dev mailing list