On Tue, 30 Jun 2026 14:57:22 GMT, April Ivy <[email protected]> wrote:
>> As noted in https://bugs.openjdk.org/browse/JDK-8386802, `Util.entryList` >> and `Util.moduleEntryList` copy their input lists using indexed access. This >> is fine for `RandomAccess` lists but can be inefficient for >> sequentially-accessed implementations. >> >> This patch keeps the existing indexed path for `RandomAccess` lists and >> falls back to iteration otherwise. Regression coverage is added for >> non-`RandomAccess` inputs. >> >> Testing: >> - `make CONF_CHECK=ignore java.base-java images` >> - `make CONF_CHECK=ignore test-only >> TEST="test/jdk/jdk/classfile/UtilTest.java"` >> - `make CONF_CHECK=ignore test-only TEST="test/jdk/jdk/classfile"` >> - `make CONF_CHECK=ignore test-only TEST="test/jdk:tier1" >> JTREG="VERBOSE=summary"` >> >> --------- >> - [x] I confirm that I make this contribution in accordance with the >> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). > > April Ivy has refreshed the contents of this pull request, and previous > commits have been removed. The incremental views will show differences > compared to the previous content of the PR. The pull request contains one new > commit since the last revision: > > 8386802: ClassFile Util.entryList should consider non-RandomAccess lists src/java.base/share/classes/jdk/internal/classfile/impl/Util.java line 204: > 202: for (var entry : list) { > 203: result[i++] = TemporaryConstantPool.INSTANCE.moduleEntry( > 204: > TemporaryConstantPool.INSTANCE.utf8Entry(entry.name())); This can just call the [`ConstantPoolBuilder::moduleEntry(ModuleDesc)`] overload instead, matching `Util::entryList(…)` above: Suggestion: result[i++] = TemporaryConstantPool.INSTANCE.moduleEntry(entry); [`ConstantPoolBuilder::moduleEntry(ModuleDesc)`]: https://docs.oracle.com/en/java/javase/26/docs/api/java.base/java/lang/classfile/constantpool/ConstantPoolBuilder.html#moduleEntry(java.lang.constant.ModuleDesc) ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/31719#discussion_r3499831435
