RFR: 8278384: Bytecodes::result_type() for arraylength returns T_VOID instead of T_INT
Dean Long
dlong at openjdk.java.net
Fri Dec 17 21:40:30 UTC 2021
On Fri, 17 Dec 2021 02:36:00 GMT, David Holmes <dholmes at openjdk.org> wrote:
> Fix looks fine but I have to wonder what the actual affect is? Shouldn't this wrong type have been detected somewhere or caused an error ??
>
> Thanks, David
(Sorry for the late comment, just saw this)
Yes, FTR, the effects were mostly unobservable because of workarounds. There was an off-by-one problem with C1 debug info that could only be observed with -XX:+VerifyStack and stricter verification logic I was working on.
After this change, we could remove the workarounds. For example, in the switch example above, the case for Bytecodes::_arraylength can be combined with the group above.
-------------
PR: https://git.openjdk.java.net/jdk/pull/6863
More information about the hotspot-runtime-dev
mailing list