> Currently, fake parameters are created with "arg0" etc. strings that are 
> retained for class file methods with no MethodParameters attribute. The 
> original issue report observes many of these strings present in the heap. To 
> address this issue, we can remove these eagerly created fake names, bringing 
> their behavior in line with nameless parameters from MethodParameters 
> attribute, such as those from inner class constructors. A unit test verifies 
> that no name is retained in the Parameter object when the name is fake.
> 
> The original report recommends using a pool to store the arg name strings. I 
> did not take that approach as I don't think it is very necessary; if the 
> issue of retained fake names persist, we can update `Parameter::getName` to 
> return fake names from a pool instead.

Chen Liang has updated the pull request with a new target base due to a merge 
or a rebase. The incremental webrev excludes the unrelated changes brought in 
by the merge/rebase. The pull request contains two additional commits since the 
last revision:

 - Merge branch 'master' of https://github.com/openjdk/jdk into 
fix/fake-param-name
 - 8357728: Optimize Executable#synthesizeAllParams

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/25961/files
  - new: https://git.openjdk.org/jdk/pull/25961/files/a5a5dba4..a79e59cd

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=25961&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=25961&range=00-01

  Stats: 607435 lines in 7235 files changed: 409421 ins; 125072 del; 72942 mod
  Patch: https://git.openjdk.org/jdk/pull/25961.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/25961/head:pull/25961

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

Reply via email to