RFR: 8255208: CodeStrings passed to Disassembler::decode are ignored
Vladimir Kozlov
kvn at openjdk.java.net
Thu Oct 22 16:56:16 UTC 2020
On Wed, 21 Oct 2020 23:50:51 GMT, Claes Redestad <redestad at openjdk.org> wrote:
> CodeStrings passed directly to Disassembler::decode are wrongly ignored.
>
> This patch started out as a cleanup to clean out CodeStrings, but I realized as I was about to remove the suspiciously unused CodeStrings in the disassembler that them being unused was likely a bug.
>
> For example, -XX:+PrintInterpreter (on debug builds) included messages which can help digesting the output (if not else by emitting text hooks to the place in the source code where the asm is generated):
>
> 0x00007f1f7093becb: je 0x00007f1f7093bee5
> ;; call_VM_base: heap base corrupted? <<< omitted
> 0x00007f1f7093bed1: mov $0x7f1f90c7ecb8,%rdi
> 0x00007f1f7093bedb: and $0xfffffffffffffff0,%rsp
> 0x00007f1f7093bedf: callq 0x00007f1f9046c0a0 = MacroAssembler::debug64(char*, long, long*)
>
> While PrintInterpreter is the only case that appears directly affected, restoring this capability seems useful in general.
>
> The cleaning up of the code also has some nice side-effects such as reducing the size of a CodeBuffer from 432 to 408 bytes and marginally improving the static size of the JVM (as measured on linux-x64)
very nice clean up
-------------
Marked as reviewed by kvn (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/788
More information about the hotspot-dev
mailing list