RFR: 8309634: Resolve CONSTANT_MethodRef at CDS dump time

Matias Saavedra Silva matsaave at openjdk.org
Tue Jun 25 18:02:18 UTC 2024


On Mon, 24 Jun 2024 17:21:18 GMT, Ioi Lam <iklam at openjdk.org> wrote:

> Resolve `CONSTANT_MethodRef` entries during CDS dump time to improve start-up performance.
> 
> - This PR uses the same framework introduced in #19355 and just added handling for methods.
> - Support for getstatic/putstatic/invokestatic will be done separately in [JDK-8334898](https://bugs.openjdk.org/browse/JDK-8334898)

Looks good! I have one consideration but otherwise I approve.

src/hotspot/share/interpreter/interpreterRuntime.cpp line 930:

> 928:     CallInfo call_info;
> 929:     switch (bytecode) {
> 930:       case Bytecodes::_invokevirtual:   LinkResolver::cds_resolve_virtual_call  (call_info, link_info, CHECK); break;

I think the the `cds_resolve_xyz_call()` methods might be unnecessary. You can just call the existing methods from LinkResolver besides `resolve_virtual_call`

src/hotspot/share/oops/cpCache.cpp line 454:

> 452: 
> 453:     // Just for safety -- this should not happen, but do not archive if we ever see this.
> 454:     resolved &= !(rme->is_resolved(Bytecodes::_invokehandle) || 

Don't forget to fix the whitespace problem here

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

Marked as reviewed by matsaave (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/19866#pullrequestreview-2136680123
PR Review Comment: https://git.openjdk.org/jdk/pull/19866#discussion_r1653181970
PR Review Comment: https://git.openjdk.org/jdk/pull/19866#discussion_r1651570587


More information about the build-dev mailing list