RFR: 8338532: Speed up the ClassFile API MethodTypeDesc#ofDescriptor [v3]

Shaojin Wen duke at openjdk.org
Tue Aug 20 12:39:14 UTC 2024


> The current implementation of ofDescriptor puts return type and parameter types together in an ArrayList, and then splits them into return type and array of parameter types. This ArrayList creation is unnecessary, considering most descriptors only have few parameter types.
> 
> By splitting return type and parameter types separately and scanning the descriptor first to get the number of parameters, we can just allocate an exact, trusted array for the resulting MethodTypeDesc without copy.

Shaojin Wen has updated the pull request incrementally with one additional commit since the last revision:

  remove specialization for `Ljava/lang/Object;`

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/20611/files
  - new: https://git.openjdk.org/jdk/pull/20611/files/1e04f5bf..43fbe47b

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

  Stats: 6 lines in 1 file changed: 0 ins; 6 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/20611.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/20611/head:pull/20611

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


More information about the core-libs-dev mailing list