Integrated: 8263562: Checking if proxy_klass_head is still lambda_proxy_is_available

Yi Yang yyang at openjdk.java.net
Tue Mar 16 18:51:06 UTC 2021


On Mon, 15 Mar 2021 02:17:36 GMT, Yi Yang <yyang at openjdk.org> wrote:

> The `Shared Lambda Dictionary` section in the result of SharedLambdaDictionaryPrinter will mix normal klasses with lambda proxy klasses. Using the following commands can reproduce it:
> 
> Proc1: `./jshell`
> Proc2: `jcmd <proc1> VM.systemdictionary -verbose`
> 
> When all archived lambda proxy classes are used, proxy_klass_head(in RunTimeLambdaProxyClassInfo) is still referring to an instance klass that is no longer lambda_proxy_is_available, and its next_link will be set by classloader to link another normal class. Simply checking if proxy_klass_head is lambda_proxy_is_available can solve this problem.
> 
> Best regards,
> Yang

This pull request has now been integrated.

Changeset: 0d2f87e4
Author:    Yi Yang <yyang at openjdk.org>
Committer: Ioi Lam <iklam at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/0d2f87e4
Stats:     8 lines in 1 file changed: 2 ins; 0 del; 6 mod

8263562: Checking if proxy_klass_head is still lambda_proxy_is_available

Reviewed-by: ccheung, iklam

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

PR: https://git.openjdk.java.net/jdk/pull/3001


More information about the hotspot-runtime-dev mailing list