RFR: 8309808: BytecodeTracer prints wrong BSM for invokedynamic [v2]

Matias Saavedra Silva matsaave at openjdk.org
Wed Jun 14 18:18:13 UTC 2023


On Wed, 14 Jun 2023 18:13:33 GMT, Ioi Lam <iklam at openjdk.org> wrote:

>> This PR fixes the tracing of invokedynamic bytecodes:
>> 
>> 
>> before: 0x00007f3aa8400385  5 invokedynamic 1 <java/lang/Object.<init>()V>
>> after:  0x00007f9bcc4056a5  5 invokedynamic bsm=37 13 <makeConcatWithConstants(I)Ljava/lang/String;>
>> 
>> 
>> I've also added WhiteBox functionality to make it easy to write new tests for the BytecodeTracer.
>
> Ioi Lam has updated the pull request incrementally with one additional commit since the last revision:
> 
>   code clean up

Looks good, thanks for this! Just one nit:

src/hotspot/share/interpreter/bytecodeTracer.cpp line 310:

> 308:   } else {
> 309:     assert(ConstantPool::is_invokedynamic_index(i), "not secondary index?");
> 310:     i = ConstantPool::decode_invokedynamic_index(i);

This could be changed to int indy_index = ... instead of reassigning i

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

Marked as reviewed by matsaave (Committer).

PR Review: https://git.openjdk.org/jdk/pull/14429#pullrequestreview-1480039255
PR Review Comment: https://git.openjdk.org/jdk/pull/14429#discussion_r1229994266


More information about the hotspot-dev mailing list