RFR: JDK-8307331: Correctly update line maps when class redefine rewrites bytecodes
Andrew Dinn
adinn at openjdk.org
Tue May 9 13:54:34 UTC 2023
On Tue, 9 May 2023 13:16:00 GMT, Thomas Stuefe <stuefe at openjdk.org> wrote:
>> This small change ensures that repeated bytecode rewrites necessitated by class pool index updates are applied cumulatively when updating the method line number table. The current code applies each change to the original table which means only the last one is applied (and even then with the wrong adjustment).
>
> This looks fine to me. Thank you for the well written description text in the JBS issue.
>
> I hesitated a bit at the use of TraceRelocator instead of our usual LogStream/LogTarget combination with UL, but I see that this is pre-existing usage, so its fine.
>
> Another preexisting issue I noted is that CompressedWriteStream manages its internal buffer via RA, and grows inside RA too. That is suboptimal since we usually cannot reclaim the old buffer on resize since its rarely the top arena allocation. Oh, we also just allocate, we never even try resizing... (CompressedWriteStream::grow()).
@tstuefe @coleenp Thank you for the reviews!
-------------
PR Comment: https://git.openjdk.org/jdk/pull/13795#issuecomment-1540169679
More information about the serviceability-dev
mailing list