Integrated: 8255208: CodeStrings passed to Disassembler::decode are ignored

Claes Redestad redestad at openjdk.java.net
Fri Oct 23 07:34:36 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)

This pull request has now been integrated.

Changeset: c1524c59
Author:    Claes Redestad <redestad at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/c1524c59
Stats:     264 lines in 11 files changed: 60 ins; 146 del; 58 mod

8255208: CodeStrings passed to Disassembler::decode are ignored

Reviewed-by: kvn, iklam

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

PR: https://git.openjdk.java.net/jdk/pull/788


More information about the hotspot-dev mailing list