On Sun, 22 Sep 2024 05:30:43 GMT, Shaojin Wen <s...@openjdk.org> wrote:
> Do some refactoring so that the code can be inlined by the C1/C2 optimizer. > > 1. DirectClassBuilder::build codeSize 361 -> 315 > 2. DirectCodeBuilder::writeExceptionHandlers codeSize 183 -> 31 > 3. BufWriterImpl::writeIndex codeSize 62 -> 37 (forceinline) > 4. BufWriterImpl::writeU2 (forceinline) > 5. Util::writeAttributes codSize 45 -> 40 (forceinline) > 6. Util::writeList codSize 47 -> 42 (forceinline) src/java.base/share/classes/jdk/internal/classfile/impl/BufWriterImpl.java line 99: > 97: } > 98: > 99: void writeMagic(int minorVersion, int majorVersion) { Can we use `writeLong(((long) MAGIC_NUMBER) << 32 | minorVersion << 16 | majorVersion);`? src/java.base/share/classes/jdk/internal/classfile/impl/BufWriterImpl.java line 99: > 97: } > 98: > 99: void writeMagic(int minorVersion, int majorVersion) { Can we call this `writeHeader` as this writes both the magic and the version? src/java.base/share/classes/jdk/internal/classfile/impl/Util.java line 256: > 254: int size = list.size(); > 255: buf.writeU2(size); > 256: for (int i = 0; i < size; i++) { 👍 Manual loop unrolling is good for startup ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/21118#discussion_r1770556482 PR Review Comment: https://git.openjdk.org/jdk/pull/21118#discussion_r1770670377 PR Review Comment: https://git.openjdk.org/jdk/pull/21118#discussion_r1770556848