RFR: 8311085: Remove implementation detail writeTo from LocalVariable(Type)

Chen Liang liach at openjdk.org
Thu Jun 29 13:53:54 UTC 2023


On Thu, 29 Jun 2023 13:41:17 GMT, Brian Goetz <briangoetz at openjdk.org> wrote:

>> `LocalVariable` and `LocalVariableType` includes `writeTo(BufWriter)`, which should be implementation details.
>> 
>> See https://mail.openjdk.org/pipermail/classfile-api-dev/2023-June/000381.html for context.
>> 
>> This patch moves the implementation to `DirectCodeBuilder`'s original use sites; the old `b.canWriteDirect` branch   is redundant, as `writeIndex`'s implementation already performs such an optimization.
>
> src/java.base/share/classes/jdk/internal/classfile/impl/DirectCodeBuilder.java line 280:
> 
>> 278:                             b.writeIndex(l.name());
>> 279:                             b.writeIndex(l.type());
>> 280:                             b.writeU2(l.slot());
> 
> This idiom is repeated four times; seems like it can be factored somewhere into a helper?

Good idea. The same routine is used in attribute mapper for the two tables, which could be factored as well.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/14705#discussion_r1246652541


More information about the core-libs-dev mailing list