Integrated: 8356946: x86: Optimize interpreter profile updates

Aleksey Shipilev shade at openjdk.org
Mon May 19 08:08:00 UTC 2025


On Wed, 14 May 2025 09:48:54 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

> Noticed two awkward things in current x86 interpreter profiling code.
> 
> First, we carry the implementation for counter decrements without using them. This is dead code, and can be purged.
> 
> Second, we care about overflows for 64-bit for some reason. I think this is a reminiscent of 32-bit x86 support, where we can plausibly have 32-bit counter overflow in a reasonable timeframe. But for 64-bit counter, we need tens of years of constantly bashing the counter to get it to overflow. No other profile counter update code, e.g. in C1, cares about this.
> 
> So we can save a few instructions / memory accesses on this path. 
> 
> Additional testing:
>  - [x] Linux x86_64 server fastdebug, `tier1`
>  - [x] Linux x86_64 server fastdebug, `all`

This pull request has now been integrated.

Changeset: 67fb1ee7
Author:    Aleksey Shipilev <shade at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/67fb1ee7f11c840a28ace21d381c86353fd9b22b
Stats:     40 lines in 2 files changed: 0 ins; 30 del; 10 mod

8356946: x86: Optimize interpreter profile updates

Reviewed-by: kvn, jsjolen

-------------

PR: https://git.openjdk.org/jdk/pull/25223


More information about the hotspot-compiler-dev mailing list