On Wed, 13 Mar 2024 04:13:03 GMT, Serguei Spitsyn <sspit...@openjdk.org> wrote:
>> Alex Menkov has updated the pull request incrementally with one additional >> commit since the last revision: >> >> removed attributes_count from RecordComponent > > src/hotspot/share/prims/jvmtiClassFileReconstituter.cpp line 516: > >> 514: + component->annotations() != nullptr ? 1 : 0 >> 515: + component->type_annotations() != nullptr ? 1 >> : 0; >> 516: write_u2(attributes_count); > > Nit: I would suggest to define this function in the `RecordComponent` class: > > u2 attributes_count() const { > u2 attributes_count = generic_signature_index() != 0 ? 1 : 0 > + annotations() != nullptr ? 1 : 0 > + type_annotations() != nullptr ? 1 : 0; > return attributes_count; > } RecordComponent contains information about Record attribute, but it knows nothing about class bytes and attributute_count doesn't make sense for it. So I think this is JvmtiClassFileReconstituter responsibility to calculate a value required to generate class bytes for RecordComponent. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/18161#discussion_r1523810447