JIT optimization broke mapping between compiled code and byte-code instructions on JDK 14 / 15EAP
Andrew Haley
aph at redhat.com
Fri Aug 14 08:24:45 UTC 2020
On 14/08/2020 08:43, Сергей Цыпанов wrote:
> The problem is that I don't have any mention of `putfield count` in
> generated assembly at all.
It's here:
0.04% ↘ │ 0x00007f3717d4617f: movl $0x0,0x14(%r8)
0.08% │ 0x00007f3717d46187: lock addl $0x0,-0x40(%rsp)
There's never been any guarantee that debuginfo will be complete after
transformations. Optimization rewrites things to such an extent that
it's not really possible anyway: operations are reorganized and
combined in such a way that the relationship between incoming bytecode
and generated code is not 1:1.
--
Andrew Haley (he/him)
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
https://keybase.io/andrewhaley
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671
More information about the hotspot-compiler-dev
mailing list