RFR: 8339214: Remove misleading CodeBuilder.loadConstant(Opcode, ConstantDesc) [v2]

Erik Gahlin egahlin at openjdk.org
Sat Aug 31 09:46:18 UTC 2024


On Thu, 29 Aug 2024 21:46:52 GMT, Chen Liang <liach at openjdk.org> wrote:

>> `CodeBuilder::loadConstant(Opcode, ConstantDesc)` is error-prone and confusing. Users should almost always use `loadConstant(ConstantDesc)` for optimized instructions, or use specific factories `iconst_0` etc. or `bipush` with arguments or `LoadConstantInstruction.of` if they want to specify the exact type of LDC opcode.
>
> Chen Liang has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Move bipush and sipush fix from Opcode cleanup to this patch

src/jdk.jfr/share/classes/jdk/jfr/internal/EventInstrumentation.java line 679:

> 677:         getEventConfiguration(blockCodeBuilder);
> 678:         // stack: [EW] [EW] [EC]
> 679:         blockCodeBuilder.loadConstant(eventTypeId);

Does this means an int (single slot) can be pushed if the event type id happens to be below Integer.MAX_VALUE?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/20779#discussion_r1739648107


More information about the core-libs-dev mailing list