JDK-8305959 : x86: Improve itable_stub
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 17,20,21
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • CPU: x86
  • Submitted: 2023-04-13
  • Updated: 2024-07-09
  • Resolved: 2023-06-07
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 17 JDK 21
17.0.13Fixed 21 b26Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Description
Async profiler shows that applications spend up to 10% in itable_stubs.

The generated itable_stub contains interface and method lookups that can be combined to improve performance.
Comments
A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk17u-dev/pull/2654 Date: 2024-07-03 09:56:24 +0000
09-07-2024

[jdk17u-fix-request] Approval Request from Dmitry Chuyko This is a backport from 21 for x86_64/32. It improves itable_stubs performace which can have notable impact in some applications. Original patch was applied mostly cleanly, except few straightforward replacements. InterfaceCalls benchmark shows improvements similar to original results. A meaningful part of the change is the different code generation in VtableStubs::create_itable_stub(), the current version of which works as of JDK 21, so the risk is low and any potential backout is easy. Testing: linux x86_64 tier1,2.
08-07-2024

Changeset: 8cdd95e8 Author: Boris Ulasevich <bulasevich@openjdk.org> Date: 2023-06-07 11:27:52 +0000 URL: https://git.openjdk.org/jdk/commit/8cdd95e8a2a7814ab7983fb3f41e6fa5793d410f
07-06-2023

CPU was set to aarch64 but from the PR it looks x86 specific. Updated.
03-05-2023

A pull request was submitted for review. URL: https://git.openjdk.org/jdk/pull/13460 Date: 2023-04-13 14:33:52 +0000
03-05-2023