RFR: 8340710: Optimize DirectClassBuilder::build

Chen Liang liach at openjdk.org
Tue Sep 24 15:38:40 UTC 2024


On Sun, 22 Sep 2024 05:30:43 GMT, Shaojin Wen <swen at 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/DirectClassBuilder.java line 208:

> 206: 
> 207:         // Now we can make the head
> 208:         head.writeLong((((long) ClassFile.MAGIC_NUMBER) << 32) | ((minorVersion & 0xFFFFL) << 16) | majorVersion);

Suggestion:

        head.writeLong((((long) ClassFile.MAGIC_NUMBER) << 32) | ((minorVersion & 0xFFFFL) << 16) | (majorVersion & 0xFFFFL));

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

PR Review Comment: https://git.openjdk.org/jdk/pull/21118#discussion_r1773603333


More information about the core-libs-dev mailing list